Teknik Grabbing Dengan CURL [PHP]
Tekni Grabbing adalah teknik untuk mengambil teks atau secara umum obyek yang ada di suatu situs lain kemudian diletakkan ke web kita. maksud dari arti tersebut adalah mengambil sebagian informasi yang ada diwebsite lain untuk di letakan di posisi web lain. contohnya kita akan melakukan Grabbing pada website bmkg dan mengambil informasi Gempa terkini saja.
sebelum memulai teknik grabbing saya akan memberikan contoh simpel terlebih dahulu.pada teknik ini kita akan menggunakan CURL
perhatikan script berikut ini :
disini saya membuat function bernama grabbing. sebelum menggunakan ini aktifkan terlebih curl .
pada baris 10 terdapat perintah
echo grabbing('http://h4nk.blogspot.com');maksudnya adalah melakukan atau menampilkan situs dari http://h4nk.blogspot.com untuk contoh dapat dilihat disini :
gampang kan tekniknya. nah saya ingin mengambil bagian artikel terbaru saja pada blog saya http://h4nk.blogspot.com tersebut. caranya adalah view source nya dengan ctrl + u maka akan terlihat bagian source dari css , js, html.
begitu banyak source membuat kita bingung mau filter data yang mana saja. tapi jangan khawatir pada awal blog saya ada tulisan HOT NEWS »
saya akan melakukan pencarian dengan kata "HOT NEWS" tersebut pada view source
untuk dengan kata HOT NEWS hanya terdapat pada line 1153. oke kita akan melakukan pencarian code html pada postingan terbaru. langkah pertama saya akan mencari bagian judul terlebih dahulu. jika anda turun kebawan pada view source akan terlihat judul artikel terbaru saya tepatnya pada line 1180
<h3 class='post-title entry-title'>
<a href='http://h4nk.blogspot.com/2013/05/crack-hill-climb-racing-game-android.html'>Crack Hill Climb Racing Game [ANDROID]</a>
</h3>
pertama yang akan saya lakukan adalah melakukan filter tag sebelum judul tersebut yaitu tag <h3 dan saya nenambahkan perintah pada script tadi
$filter = explode('<h3', $ambilhtml);ya saya menggunakan function explode untuk melakukan pemecahan untuk string. dengan hasil tersebut akan menghasilkan beberapa array.
dan untuk melakukan filter di akhir saya memberikan code berikut
$filterakhir = explode('</h3>', $filter[1]);function explode kedua adalah melakukan batasan filter yang telah di hasilkan oleh filter pertama. Variabel $filter[1]; saya dapat pada urutan pencarian code tersebut pada view source. biar mempermudah kita melakukan pemecahan string.
sebelumnya saya melakukan pencarian dengan key <h3 terdapat sebanyak 15 buah perintah tersebut. tapi Teknik Grabbing yang saya inginkan terdapat urutan pertama oleh karena itu array pada filter pertama saya memberikan nilai 1.
jika sudah saya akan melakukan tampilan setelah terjadi pemecahan 2 kali string yang kita lakukan sebelumnya
echo $filterakhir[1];untuk script lengkap seperti ini :
sampai disini mungkin paham maksud saya, oke kita lanjut pada target pertama adalah mengambil informasi gempa terkini di website BMKG.
targetnya adalah mengambil informasi pada kotak garis merah yang sudah saya tandai seperti gambar di atas.
Untuk langkah awal kita mulai intip view source nya.untuk mempermudahkan pencarian saya menggunakan key : "16-Mei-13"
ternyata dengan menggunakan key tersebut hanya terdapat 1 buah. ini membuat kita mempermudah pencarian. untuk selanjutnya saya akan mencari tag sebelum tersebut. setelah saya lihat Tag sebelum 16-Mei-13 adalah "<td width="25%" valign="top">" dan tag untuk penutup adalah "</div></td>"
untuk script lengkapnya seperti ini :
untuk hasil dapat di lihat disini :
jika ingin mempercantiknya bisa memasukan CSS kedalam script itu sendiri.. silahkan di oprek2 masih banyak yang di butuhkan untuk grabbing tersebut seperti halnya info kurs Dollar pada web BCA dan mandiri. Sekian dulu artikel Teknik Grabbing Dengan CURL [PHP] semoga bermanfaat. Jika ada yang kurang Paham silahkan memberikan komentarnya. Thanks
22 Komentar
Gan misi ,. ane copas code yang agan post ini gak 1 pun yg kena,. mohon pencerahannya,. sorry ane masih bener" pemula..>_<
BalasHapusCURL nya sudah di aktifkan ?
Hapusnah sekalian Gan,. ane minta pencerahannya soal install dll nya itu,. :D ane pakai win 7 32 bit dengan web server wampp
Hapusbuka file php.ini lalu cari extension=php_curl.dll ada tanda ";" hapus tanda tersebut.
Hapussave lalu restart apachenya
sip",. Oke dah bisa Gan, thanks bgt,
BalasHapusseep good luck
Hapusnih tulisan keren banget five thumbs :)
BalasHapusmakasih gan.. thx for share .. (y)
BalasHapusTerima Kasih
Hapusbagus tutorialnya. ngebantu banget,
BalasHapusijin tinggalin jejak juga ya min
http://blog.microtrafh.com/
blog share IT dan informasi
Terima Kasih atas kunjungannya
HapusKomentar ini telah dihapus oleh pengarang.
BalasHapusmakasih gan infonya, mohon bimbingannya kalau salah lagi praktek nih,
BalasHapustetap semangat
Hapusextension=php_bz2.dll
BalasHapusextension=php_curl.dll
extension=php_mbstring.dll
extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mssql.dll
;extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
saya sudah ilangkan tanda ; di curl.dll nya tpi masih g bisa tampil curl nya min mohon pencerahan nya :)
cek dengan php info nya apakah sudah aktif curlnya
Hapusmas maksud H3 itu apa ya
BalasHapuskalo pake regex gmna om ??
BalasHapusmohon referensi info gan,, ada buku nya curl simple html domnya gak? atau kasetnya?? ntar aku beli punyanya meskipun bekas gan soalnya aku butuh banget referensi buat skripsi ane...
BalasHapusmakasih infonya
BalasHapushttp://musicku.top
Gan itu kan ngmbilnya per halaman, kalo ngambil konten langsung satu website gmn ya?
BalasHapusgan kalau yang mau kita grab itu table yang server side processing bisa ngga ya? soalnya saya sudah coba tp hanya dapat table header nya saja
BalasHapusBerikan Komentar yang bermanfaat dan sehat.