Home » » Grabbing Content Website menggunakan cURL

Grabbing Content Website menggunakan cURL

Written By Unknown on Senin, 10 Juni 2013 | 23.59

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
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

      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
    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('
    ', $pecah[1]); 17. echo "
      "
    .$pecahLagi[0].""; 18. ?>


     OUTPUT :

    untuk mempercantik tampilan, kita kasih sentuhan CSS


    result :
    Share this article :
     
    Support : support@masterfreelance.com | +62 - 857 - 1061 - 2210 | 327E8DA0
    Copyright © 2013. MasterFreelance Blog - All Rights Reserved
    Jl. Satria 5 No 27 - 28
    Bojong Nangka , Kelapa Dua - Tangerang
    15821, Banten - Indonesia