Scrapping Text menggunakan DiDOM di PHP

Sebagai programmer tentu saja saya sering melakukan scrapping text pada dokumen, khususnya dokumen HTML. Iseng-iseng tadi saya melihat script scrapping yang dibuat menggunakan nodejs yang terlihat sangat efektif, yaitu dengan menelusuri DOM. Padahal, kalau di PHP biasanya saya menggunakan REGEX.

Menelusuri DOM tentu saja lebih mudah dan efektif serta lebih terhindar dari kesalahan-kesalahan yang diakibatkan oleh perubahan kecil pada text. Dengan menggunakan DOM asal path DOM nya tidak berubah maka segalanya akan aman.

Tanya sama OpenAI, saya ditunjukkan pada library PHP yang sederhana namun mempunyai kemampuan yang mantab. DiDOM dengan dokumentasi yang cukup lengkap.

DiDOM bisa mengambil langsung dari sumber dokumen menggunakan fungsi php file_get_contents() . Namun jika kamu ingin menambahkan beberapa parameter sehingga harus menggunakan CURL, maka bisa aja. Kamu ambil dokumen via CURL lalu hasilnya diumpankan ke DiDOM.

Contohnya seperti ini:

<?php
require 'vendor/autoload.php';

use DiDom\Document;

function fetchWithCurl($url) {
    $ch = curl_init($url);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_TIMEOUT => 10,
        CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; DiDom/1.0)',
    ]);
    $html = curl_exec($ch);
    curl_close($ch);
    return $html;
}

$html = fetchWithCurl('https://www.news.com/');
$document = new Document($html);

Okey, mungkin setelah ini saya akan menggunakan cara ini untuk scrapping data 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.