Nota Kajian PHP: Perangkak Web dan Pengumpulan Data
Pengenalan:
Perangkak web ialah alat yang secara automatik merangkak data daripada Internet Ia boleh mensimulasikan tingkah laku manusia, menyemak imbas halaman web dan mengumpul data yang diperlukan. Sebagai bahasa skrip sebelah pelayan yang popular, PHP juga memainkan peranan penting dalam bidang perangkak web dan pengumpulan data. Artikel ini akan menerangkan cara menulis perangkak web menggunakan PHP dan memberikan contoh kod praktikal.
1. Prinsip asas perangkak web
Prinsip asas perangkak web adalah untuk menghantar permintaan HTTP, menerima dan menghuraikan HTML atau data lain yang dijawab oleh pelayan, dan kemudian mengekstrak maklumat yang diperlukan. Langkah terasnya termasuk aspek berikut:
2. Persekitaran pembangunan untuk perangkak web PHP
Sebelum mula menulis perangkak web, kita perlu membina persekitaran pembangunan yang sesuai. Berikut ialah beberapa alatan dan komponen yang diperlukan:
3. Contoh kod untuk menulis perangkak web PHP
Yang berikut akan menggunakan contoh praktikal untuk menunjukkan cara menggunakan PHP untuk menulis perangkak web.
Contoh: Merangkak tajuk dan pautan laman web berita
Andaikan kita ingin merangkak tajuk dan pautan laman web berita. Pertama, kita perlu mendapatkan kod HTML halaman web. Kita boleh menggunakan perpustakaan Guzzle, kaedah pemasangannya ialah:
composer require guzzlehttp/guzzle
Kemudian, import perpustakaan Guzzle dalam kod dan hantar permintaan HTTP:
use GuzzleHttpClient; $client = new Client(); $response = $client->request('GET', 'http://www.example.com'); $html = $response->getBody()->getContents();
Seterusnya, kita perlu menghuraikan kod HTML dan mengekstrak tajuk dan pautan. Di sini kami menggunakan perpustakaan DOMDocument terbina dalam PHP:
$dom = new DOMDocument(); $dom->loadHTML($html); $xpath = new DOMXPath($dom); $titles = $xpath->query('//h2'); // 根据标签进行提取 $links = $xpath->query('//a/@href'); // 根据属性进行提取 foreach ($titles as $title) { echo $title->nodeValue; } foreach ($links as $link) { echo $link->nodeValue; }
Akhirnya, kami boleh menyimpan tajuk dan pautan yang diekstrak ke dalam pangkalan data atau fail:
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); foreach ($titles as $title) { $stmt = $pdo->prepare("INSERT INTO news (title) VALUES (:title)"); $stmt->bindParam(':title', $title->nodeValue); $stmt->execute(); } foreach ($links as $link) { file_put_contents('links.txt', $link->nodeValue . " ", FILE_APPEND); }
Contoh di atas menunjukkan menulis perangkak web mudah menggunakan PHP untuk merangkak berita Tajuk dan pautan laman web dan menyimpan data ke dalam pangkalan data dan fail.
Kesimpulan:
Perangkak web ialah teknologi yang sangat berguna yang boleh membantu kami mengautomasikan pengumpulan data daripada Internet. Dengan menggunakan PHP untuk menulis perangkak web, kami boleh mengawal dan menyesuaikan gelagat perangkak secara fleksibel untuk mencapai pengumpulan data yang lebih cekap dan tepat. Mempelajari perangkak web bukan sahaja boleh meningkatkan keupayaan pemprosesan data kami, tetapi juga membawa lebih banyak kemungkinan kepada pembangunan projek kami. Saya harap kod sampel dalam artikel ini dapat membantu pembaca memulakan dengan cepat dengan pembangunan perangkak web.
Atas ialah kandungan terperinci Nota kajian PHP: perangkak web dan pengumpulan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!