Belajar Web Scraping Pada PHP

Belajar Web Scraping Pada PHP

Belajar Web Scraping Pada PHP

Assalamu’alaikum warohmatullahi wabarokatuh.

Kali ini kita akan belajar web scraping pada PHP.

Web  Scraping itu apa sih ?

Web Scraping adalah teknik yang digunakan untuk mengambil isi sebuah halaman web secara spesifik, misalnya judul, tanggal posting, gambar, category atau penulis.

Oke langsung saja kita praktekan :

  1. Pastikan anda telah menginstall composer.
  2. Masuk lah ke folder projek anda.
  3. Ketik perintah dibawah ini pada terminal untuk menginstall package yang dibutuhkan :
composer require paquettg/php-html-parser
composer require sunra/php-simple-html-dom-parser

4. Buatlah file index.php dan require file autoload.php .

require __DIR__ . '/vendor/autoload.php';

5. Ketiklah use statements berikut dibawah require autoload.php.

use PHPHtmlParser\Dom;
use Sunra\PhpSimple\HtmlDomParser;

6. Ketiklah perintah dibawah ini.

$dom  = new Dom;
$url  = $dom->loadFromUrl('http://blog.mitschool.co.id/belajar-ionic-framework/');
$html = $url->outerHtml;
$html = HtmlDomParser::str_get_html($html);

7. Sekarang kita mulai scraping blog mitschool

Scraping Judul

Dari kode diatas saya akan mengambil judul yang berada pada tag “h1”.

$html->find('h1', 0)->plaintext;

Penjelasan kode diatas :
Kita mencari tag “h1” dan 0 berarti data array ke 0, nah karena kita hanya mengambil text dari tag “h1” maka kita gunakan perintah object plaintext.

Scraping tanggal posting

Dari kode diatas saya akan mengambil tanggal yang berada pada tag “meta” attributecontent”.

$html->find('meta[property=article:published_time]', 0)->content;

Penjelasan kode diatas :
Kita mencari tag “meta” yang mempunyai attribute property yang mempunyai nilai “article:published_time” dan 0 berarti data array ke 0, nah karena kita hanya mengambil nilai dari attribute content maka kita gunakan object content.

Scraping gambar

Dari kode diatas saya akan mengambil link gambar yang berada pada tag “img”.

$html->find('img.size-full', 0)->src

Penjelasan kode diatas :
Kita mencari tag “img” yang mempunyai class size-full dan 0 berarti data array ke 0, nah karena kita hanya mengambil linknya maka kita gunakan object src.

Scraping author

Dari kode diatas saya akan mengambil author yang berada pada tag “a” yang mempunyai attribute “title”.

$html->find('div.blog-meta a[title]', 0)->plaintext

Penjelasan kode diatas :
Kita mencari tag “div” yang mempunyai class blog-meta dan didalamnya terdapat tag “a” yang mempunyai attribute “title” dan 0 berarti data array ke 0, nah karena kita hanya mengambil text dari tag tersebut maka kita gunakan object plaintext.

Scraping category

Dari kode diatas saya akan mengambil category yang berada pada tag “a” yang mempunyai attribute “rel” dengan nilai “category tag” .

foreach ($html->find('a[rel=category tag]') as $val) :
 $category[] = strtolower($val->plaintext);
endforeach;

Penjelasan kode diatas :
Kita mencari tag “a” yang mempunyai attributerel” dengan nilai “category tag” dan nah karena categorynya lebih dari satu yang akan kita ambil maka kita foreach dan hasilnya kita jadikan array, dan juga text nya saya ubah menjadi huruf kecil  dengan perintah strtolower.

Scraping isi artikel (content)

Dari kode diatas saya akan mengambil isi artikel yang berada pada tag “div” yang mempunyai classsingle-blog-content“.

$content = $html->find('div.single-blog-content', 0)->innertext;

Penjelasan kode diatas :
Kita mencari tag “div” yang mempunyai classsingle-blog-content“, nah disini saya mengambil isi text dan beserta tagdiv” dengan class single-blog-content”, maka gunakan object innertext.

Sekian dari tutorial yang saya jelaskan, semoga bermanfaat buat teman-teman semua.

Untuk lebih jelasnya dapat mengakses dokumentasi pada link ini.

Source kodenya anda dapat download pada link ini.

Ditulis oleh : Luki Sanjaya (Peserta didik MIT School)

 

Related posts:

Loading Facebook Comments ...