Grabbing Content Website menggunakan cURL
Sebenarnya sudah banyak tutorial yang menjelas kan tenatang teknik grabing konten website menggunkan cURL, saya terinspirasi dari tulisan pak rosihanari di blog nya, disini penulis cuman ingin menulis ulang dengan bahasa yang berbeda tentunya dengan KASUS yang berbeda pula.
Apa itu Grabbing?
dapat kita artikan dengan suatu tehnik mengambil text atau secara umum mendapatkan data output atau hasil akhir tampilan sebuah website lain untuk ditampilkan pada website kita.
Berkenalan dengan cURL (si yu er el):
PHP mendukung libcurl, cURL adalaha sebuah library yang diciptakan oleh Daniel Stenberg, yang memungkinkan kita untuk terhubung dan berkomunikasi dengan berbagai jenis server dengan berbagai jenis protokol. libcurl saat ini mendukung http, https, ftp, gopher, telnet, dict, file, dan protokol ldap. libcurl juga mendukung sertifikat HTTPS, HTTP POST, HTTP PUT, FTP upload (hal ini juga bisa dilakukan dengan ekstensi ftp PHP), HTTP bentuk yang didasarkan upload, proxy, cookies, dan user + otentikasi password. Fungsi-fungsi ini telah ditambahkan di PHP 4.0.2.
sumber : http://us3.php.net/manual/en/intro.curl.php
sumber : http://us3.php.net/manual/en/intro.curl.php
KASUS
Dalam kasus ini kita akan mengambil konten website dari domain http://detik.com , namun isi dari �Berita Utama� saja yang akan Kita ambil
OK, selanjut nya kita buat Script untuk membaca HTML, berikut Script untuk membaca HTML menggunakan cURL.
1. php
2. function bacaHTML($url){
3. // inisialisasi CURL
4. $data = curl_init();
5. // setting CURL
6. curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
7. curl_setopt($data, CURLOPT_URL, $url);
8. // menjalankan CURL untuk membaca isi file
9. $hasil = curl_exec($data);
10. curl_close($data);
11. return $hasil;
12. }
13. ?>
Berikut penggunaan dari Fungsi di atas :
1. php
2. echo bacaHTML(�http://www.detik.com�);
3. ?>
Code diatas akan meng-grab semua konten HTML dari homepage http://detik.com. Lalu bagaimana caranya agar �Berita Utama� nya saja yang Keambil? good Question. Hal pertam yang harus kita lakukan adalah cari tau dibagian mana letak kode HTML yang menampung �Berita Utama�. Jalankan browser anda kemudian buka http://detik.comlalu tekan CTRL+U disitu akan muncul source HTML dari homepage http://detik.com. kira-kira Code HTML �Berita Utama� ada di bagian ini :
--------
--------
--------
Setelah kita tau di mana letak Code HTML untuk �Bertita Utama� , yang harus kita lakukan adalah memecah Code HTML tersebut Menggunakan Fungsi �explode()� terhadap String
- hasil Pecahan dari fungsi �explode()� akan di tampung dalam variable Array.
berikut script nya :
1. $bacaHTML = bacaHTML(�http://www.detik.com�);
2. $pecah = explode(�<ul id=�beritautama�>�,$bacaHTML);
3. echo $pecah[1];
index ke 0 ($pecah[0]) dari hasil pecahan akan Mengambil seluruh kode HTML dari homepage http://detik.com
indek ke 1 ($pecah[1]) akan Mengambil Kode HTML setelah
indek ke 1 ($pecah[1]) akan Mengambil Kode HTML setelah
index ke 1 ($pecah[1]) akan kita explode lagi untuk mendapatkan kode HTML di antara Tag
- dan
Berikut Script nya :
1. $pecah2 = explode(''
,$pecah[1]);
2. echo $pecah2[0];
CODE LENGKAP :
1. php', $pecah[1]);17. echo "
2. function bacaHTML($url){
3. // inisialisasi CURL
4. $data = curl_init();
5. // setting CURL
6. curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
7. curl_setopt($data, CURLOPT_URL, $url);
8. // menjalankan CURL untuk membaca isi file
9. $hasil = curl_exec($data);
10. curl_close($data);
11. return $hasil;
12. }
13.
14. $kodeHTML = bacaHTML('http://www.detik.com/');
15. $pecah = explode(''
, $kodeHTML);
16. $pecahLagi = explode('
- "
OUTPUT :
untuk mempercantik tampilan, kita kasih sentuhan CSS
* {margin: 0; padding: 0;}
div {
margin: 20px;
}
ul {
list-style-type: none;
width: 400px;
display: block;
padding: 0px;
line-height: 20px;
border: 1px solid #f1f1f1;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
-webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.055);
-moz-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.055);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.055);
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
h6 {
font: bold 14px/1.5 Helvetica, Verdana, sans-serif;
}
li img {
float: left;
margin: 0 15px 0 0;
}
li p {
font: 200 12px/1.5 Georgia, Times New Roman, serif;
}
li {
padding: 10px;
overflow: auto;
border-bottom:1px dotted #E4E4E4;
background: #F8F8F8;
}
li:nth-child(odd) { background: #fff; }
li:hover {
background: #eee;
cursor: pointer;
}
a{ text-decoration:none; color:#000;
}
0 Response to "Grabbing Content Website menggunakan cURL"
Post a Comment