Screen Scraping : Jadwal Yahoo Movies

Pendahuluan

Anda sering membutuhkan informasi yang bersumber beberapa halaman situs website  ? Dengan berasumsi jika Anda memiliki hak  atas isi tersebut - atau menggunakannya hanya untuk kepentingan pribadi - maka Kettle dapat menjadi solusi. Hanya saja ini perlu "campur tangan" coding Java yang cukup intensif yang kita masukkan pada step Modified Java Script Values.

Pengambilan isi dari web untuk diolah tanpa fasilitas sindikasi biasanya diistilahkan dengan screen scraping.  Berikut adalah contoh transformation untuk screen scraping dari halaman web Yahoo Movies.  File ini dapat Anda download pada bagian lampiran di akhir artikel ini.




Screen Scraping

  • Contoh situs yang akan diambil datanya beralamat di URL di bawah ini. Nama bioskopnya adalah Pacific Sherman Oaks 5.
  • Terlihat beberapa jadwal film disana pada tanggal 11 Oktober 2009 (Gambar).




  • Pada Kettle buat transformation dengan sistematika sebagai berikut :
    • Buat step text file input yang mengambil URL tersebut sebagai sumber datanya, akan dibaca baris per baris
    • Gabung semua baris tersebut
    • Setelah selesai digabung, diproses dengan pola HTML terkait dengan menggunakan Regular Expression (Regex)
    • Dipisahkan field-nya menjadi beberapa baris data atau field lain sesuai kebutuhan
    • Dirapikan dengan penggunaan berbagai step lainnya seperti Modified Java Script Value dan Replace in string.

Pola Regular Expression yang Digunakan

Untuk mengambil nama bioskop, tanggal, judul film dan jadwal film maka saya membuat 3 pola regex :
  • untuk nama bioskop dan tanggal :<h3[^<>]*?>(.+?)<span.+?>.+?<strong>(.+?)</strong>.+?</h3>



  • untuk judul film : <[^<>]+?movie_title[^<>]+?>([^<>]+?)</.+?>|<td[^<>]+?movie_times_row[^<>]+?>(.+?)</td>



  • untuk jadwal film : <span class=\"future-date\">(.+?)</span>|<li.*?>(.+?)</li>


Hasil

Berikut adalah hasil preview dari eksekusi transformation ini. Preview dilakukan pada step akhir yaitu "Finalisasi". 


Kekurangan Contoh

Kekurangan contoh yang digunakan adalah penggunaan code Java yang cukup intensif sehingga menyulitkan pengguna yang tidak mengetahui konstruksi bahasa Java.

Pengembangan Contoh

Dengan memanfaatkan penggantian parameter URL maka kita dapat mengambil data beberapa jadwal bioskop lainnya. Semoga bermanfaat.

Ingin mendiskusikan contoh ini lebih lanjut ? Silahkan bergabung dengan komunitas Pentaho Indonesia di http://groups.google.com/group/pentaho-id.
ċ
screen_scraping.ktr
(20k)
Feris Thia,
Oct 11, 2009, 3:53 AM
Comments