Muhamad Ghufron

Bismillahi

Bagaimana Cara Scraping Website Menggunakan Curl Php

2018-09-09 Muhamad GhufronTutorial

Assalamu’alaikum . Halo teman-teman , untuk artikel kali ini saya akan berbagi tentang Bagaimana Cara Scraping Website Menggunakan Curl Php

muhamadghufron.com

Bagaimana Cara Scraping Website Menggunakan Curl Php ?

Ada berbagai cara untuk mendapatkan konten halaman web di PHP. Di antaranya , CURL adalah salah satu yang sering digunakan. CURL adalah singkatan dari URL Klien. Untuk menggunakan direktori pustaka CURL, untuk menggunakannya Anda perlu mengaktifkannya pada pengaturan php. Untuk mengaktifkannya, cukup edit file php.ini, hapus tanda komentar baris ini: extension = php_curl.dll

Perlu diingat bahwa mengeksekusi CURL selalu memerlukan langkah-langkah berikut ini.

  • Buat proses CURL menggunakan curl_init ().
  • Atur permintaan menggunakan curlsetopt () atau curlsetopt_array ().
  • Meminta halaman menggunakan curl_exec ().
  • Periksa apakah kesalahan terjadi menggunakan curl_errno ().
  • Mendapatkan header HTTP menggunakan curl_getinfo ().
  • Tutup proses CURL menggunakan curl_close ().

sintaks dasar untuk CURL Sendiri sebagai berikut :

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec();
curl_close($ch);

dalam kode di atas kita memiliki

  • Kode curl_init() sebagai inisialisasi obyek
  • Kode curl_setopt() sebagai spesifikasi dari url yang akan kita scrape
  • Kode curl_exec() Sebagai untuk permintaan cURL
  • Kode curl_close() Sebagai sebagai penutup koneksi cURL

banyak berbagai pengaturan lainnya , dapat teman-teman buka pada http://php.net/manual/en/book.curl.php

sekarang mari kita buat fungsi curl sederhana dengan membuat fungsi.php dan masukan code berikut

<?php
 
function get_web_page( $url )
{
    $user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36';
 
    $options = array(
 
        CURLOPT_CUSTOMREQUEST  =>"GET",        //set request method type post or get
        CURLOPT_POST           =>false,        //set to GET
        CURLOPT_USERAGENT      => $user_agent, //set user agent
        CURLOPT_COOKIEFILE     =>"cookie.txt", //set cookie file
        CURLOPT_COOKIEJAR      =>"cookie.txt", //set cookie jar
        CURLOPT_RETURNTRANSFER => true,     // return web page
        CURLOPT_HEADER         => false,    // don't return headers
        CURLOPT_FOLLOWLOCATION => true,     // follow redirects
        CURLOPT_ENCODING       => "",       // handle all encodings
        CURLOPT_AUTOREFERER    => true,     // set referer on redirect
        CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect
        CURLOPT_TIMEOUT        => 120,      // timeout on response
        CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects
    );
 
    $ch      = curl_init( $url );
    curl_setopt_array( $ch, $options );
    $content = curl_exec( $ch );
    $err     = curl_errno( $ch );
    $errmsg  = curl_error( $ch );
    $header  = curl_getinfo( $ch );
    curl_close( $ch );
 
    $header['errno']   = $err;
    $header['errmsg']  = $errmsg;
    $header['content'] = $content;
    return $header;
}
?>

selanjutnya teman-teman hanya perlu memanggilnya pada file index.php dengan code sebagai berikut

require_once 'fungsi.php';

$result = get_web_page( $url );
 
if ( $result['errno'] != 0 )
    ... error: bad url, timeout, redirect loop ...
 
if ( $result['http_code'] != 200 )
    ... error: no page, no permissions, no service ...
 
$page = $result['content'];

berhasil , teman-teman telah berhasil mengambil konten pada website example.com dan langsung menampilkan pada php yang teman-teman buat.

sekian artikel kali ini , semoga bermanfaat.