Perangkak web ialah program automatik yang mengakses halaman secara automatik di Internet dan mengekstrak maklumat berguna. Hari ini, apabila Internet secara beransur-ansur menjadi saluran utama untuk orang ramai mendapatkan maklumat, skop aplikasi perangkak web menjadi semakin meluas. Dalam artikel ini, kita akan membincangkan cara menggunakan PHP dan perpustakaan curl untuk pembangunan perangkak web yang cekap.
Sebelum membangunkan perangkak web, kita perlu memahami proses pembangunan perangkak terlebih dahulu. Secara umumnya, proses pembangunan perangkak adalah seperti berikut:
1 Kosongkan matlamat: Pilih tapak web untuk dirangkak dan jenis kandungan yang akan dirangkak.
2. Dapatkan halaman web: Gunakan permintaan HTTP untuk mendapatkan halaman web tapak web sasaran.
3. Menghuraikan halaman web: menghuraikan HTML/CSS/JavaScript dan mengekstrak maklumat yang diperlukan.
4. Simpan data: Simpan data berguna yang ditangkap dalam pangkalan data atau fail.
5. Urus perangkak: Kawal selang masa dan kekerapan setiap permintaan untuk mengelakkan akses berlebihan ke tapak web sasaran.
Menggunakan PHP dan perpustakaan curl untuk pembangunan perangkak, kami boleh membahagikan proses di atas kepada dua langkah: mendapatkan halaman web dan menghuraikan halaman web.
curl ialah alat baris arahan yang berkuasa yang boleh digunakan untuk menghantar pelbagai jenis permintaan HTTP. PHP mempunyai perpustakaan curl terbina dalam, dan kami boleh menghantar permintaan HTTP dengan mudah melalui perpustakaan curl.
Berikut ialah langkah asas untuk menggunakan perpustakaan curl untuk mendapatkan halaman web:
1 Mulakan pemegang curl:
$ch = curl_init();
2.
curl_setopt($ch, CURLOPT_URL, "http://example.com");
3. Tetapkan ejen pengguna (simulasikan akses penyemak imbas):
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3");
4. Tetapkan tamat masa:
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
5. Laksanakan permintaan dan dapatkan data yang dikembalikan:
$data = curl_exec($ch);
6. Tutup pemegang curl:
curl_close($ch);
Kod di atas menunjukkan proses asas menggunakan perpustakaan curl untuk mendapatkan halaman web. Dalam aplikasi sebenar, kami juga perlu mempertimbangkan butiran seperti format data yang dikembalikan, pengepala permintaan dan kaedah permintaan.
Selepas mendapatkan halaman web, kita perlu menghuraikan halaman web tersebut kepada maklumat yang berguna. PHP menyediakan pelbagai penghurai HTML, seperti SimpleXML, DOM dan XPath. Antaranya, XPath ialah penghurai yang fleksibel, berkuasa dan mudah digunakan yang boleh mengekstrak maklumat yang diperlukan dengan mudah daripada dokumen HTML.
Berikut ialah langkah asas untuk menggunakan XPath untuk menghuraikan halaman web:
1 Muatkan dokumen HTML:
$dom = new DOMDocument(); @$dom->loadHTML($data);
2 >
$xpath = new DOMXPath($dom);
$elements = $xpath->query('//a[@class="title"]');
foreach ($elements as $element) { $title = $element->textContent; $url = $element->getAttribute("href"); echo $title . " " . $url . " "; }
Atas ialah kandungan terperinci Pembangunan perangkak web yang cekap menggunakan PHP dan perpustakaan curl. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!