Home > Office, PHP > mengekstrak informasi dari file HTML (website) dan dikonversi menjadi file csv

mengekstrak informasi dari file HTML (website) dan dikonversi menjadi file csv


lagi iseng, karena agak longgar, terinspirasi dari thesis seorang temen yg membahas tentang information extraction yang mampu mengenali dan mempelajari pola dokumen (wheww), jadi pengen juga belajar cara mengekstrak kulit manggis, halah.. tapi ini ga sekeren thesis temen saya tadi, karena yang saya lakukan di sini cuma mengekstrak informasi dari tag-tag HTML doang, yang susunan tag-nya juga udah diketahui secara baku.. kecewa? yah namanya juga baru belajar… 😀

 

jadi studi kasusnya di sini adalah, saya mempunyai file HTML yang berisi informasi mengenai kode dan nama provinsi di indonesia. kode html ini bisa berasal dari file lokal ataupun berupa link ke website tertentu.

untuk menarik informasi dari html ini, saya menggunakan library (yang bukan buatan saya) yaitu ganon (https://code.google.com/p/ganon/) dan simple_html_dom (http://simplehtmldom.sourceforge.net/).

 

yang perlu saya lakukan hanya men-download dan meng-include kedua library tersebut:

include(‘./lib/ganon.php’);
include(‘./lib/simple_html_dom.php’);

kemudian membuka akses untuk menulis pada file dengan perintah fopen() dan fwrite():

$file_konten = fopen(“konten.csv”, “w”);
fwrite($file_konten, ‘”id”;”nama”‘.”\n”);

setelah itu saya menggunakan perintah file_get_dom() untuk menarik semua konten html menjadi sebuat object yang nantinya bisa difilter lebih lanjut:

$html = file_get_dom(“contoh/isi.html”);

untuk mengekstrak informasinya antara lain dengan perintah $objek(‘jenis_tag’, index_tag) misalnya untuk mengambil tag <div class=”entry”> yang pertama (index 0) pada objek dom $html, kodenya adalah sebagai berikut:

$html(‘div.entry’, 0);

untuk mendapatkan isi dari dalam tag digunakan perintah:

$objek->getInnerText();

untuk konversi html menjadi objek string dom digunakan perintah:

str_get_html($objek);

lalu untuk mencari tag tertentu dari objek string dom digunakan perintah (misalnya untuk mencari tag <td>):

$str_dom->find(‘td’);

nilai di dalam tag pada $str_dom dapat diambil dengan perintah:

$str_dom->innertext;

 

selengkapnya contoh kasus di atas bisa di-download pada

https://drive.google.com/file/d/0B8aQPD2w6QU7QlFXWk95bTViMTg/view?usp=sharing

file tersebut bisa di-download kemudian diextract misalnya pada “c:\main”. diasumsikan sudah mengsinstall xampp sebagai php interpreter pada lokasi “c:\xampp\php\php.exe”. buka cmd (bila menggunakan OS windows)  lalu pindah ke folder “c:\main”, lalu ketikkan perintah berikut:

c:\xampp\php\php belajar.php

bila berhasil seharusnya tampilan pada cmd menjadi seperti berikut:

cmd1

disarankan untuk membaca alur programnya agar bisa lebih memahami cara kerjanya.. 🙂 simpen dulu lah.. siapa tau besok2 perlu..

Categories: Office, PHP Tags: , ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: