Bagaimana untuk mengekstrak maklumat yang diperlukan daripada halaman web menggunakan PHP dan phpSpider?
Dengan perkembangan pesat Internet, jumlah maklumat di halaman web juga semakin meningkat. Cara mengekstrak maklumat yang diperlukan dengan tepat dan cekap daripada halaman web yang besar telah menjadi masalah yang dihadapi oleh banyak pembangun. Sebagai bahasa yang digunakan secara meluas dalam pembangunan web, PHP menyediakan banyak perpustakaan dan alatan Antaranya, phpSpider ialah rangka kerja perangkak yang berkuasa yang boleh membantu kami mencapai pengekstrakan data halaman web yang cekap.
Artikel ini akan memperkenalkan cara menggunakan PHP dan phpSpider untuk membina perangkak web mudah untuk mengekstrak maklumat yang diperlukan daripada halaman web.
1. Pasang phpSpider
Pertama, kita perlu memasang phpSpider. phpSpider ialah rangka kerja perangkak berasaskan PHP yang boleh dipasang melalui Komposer. Jalankan arahan berikut dalam baris arahan:
composer require php-spider/phpspider
2. Tulis kod crawler
Seterusnya, kita mula menulis kod crawler. Mula-mula, buat fail bernama spider.php dan perkenalkan fail autoloading phpSpider ke dalamnya:
<?php require 'vendor/autoload.php'; use phpspidercorephpspider; // 创建一个爬虫对象 $spider = new phpspider(); // 设置爬虫的初始URL $spider->add_start_url('http://www.example.com'); // 设置爬虫的抓取规则 $spider->on_extract_page = function ($page, $data) { // 在此处编写提取所需信息的代码 // 可以使用正则表达式、XPath或CSS选择器来定位和提取 return $data; }; // 启动爬虫 $spider->start();
Dalam kod di atas, kami mencipta objek perangkak $spider dan menetapkan URL awal perangkak kepada http:/ /www.example.com . Seterusnya, kami mentakrifkan fungsi panggil balik $spider->on_extract_page untuk pemprosesan semasa mengekstrak halaman. Dalam fungsi panggil balik ini, kita boleh menggunakan ungkapan biasa, XPath atau pemilih CSS untuk mencari dan mengekstrak maklumat yang diperlukan.
3 Cari dan ekstrak maklumat yang diperlukan
Dalam fungsi panggil balik perangkak, kami boleh menggunakan ungkapan biasa, pemilih XPath atau CSS untuk mencari dan mengekstrak maklumat yang diperlukan. Mengambil penggunaan pemilih CSS sebagai contoh, dengan mengandaikan kita perlu mengekstrak tajuk dan teks kandungan daripada halaman web, fungsi panggil balik boleh diubah suai seperti berikut:
$spider->on_extract_page = function ($page, $data) { // 使用CSS选择器定位标题和正文的元素 $title = $page['raw']['headers']['title'][0]; $content = $page['raw']['content']; // 提取标题和正文的文本内容 $data['title'] = $title; $data['content'] = strip_tags($content); return $data; };
Dalam kod di atas, kami menggunakan $page['raw' ]['headers'][' title'][0] untuk mendapatkan tajuk halaman web, gunakan $page'raw' untuk mendapatkan kandungan asal halaman web tersebut. Kemudian, gunakan fungsi strip_tags untuk mengalih keluar tag HTML dalam teks dan simpan tajuk dan teks yang diekstrak dalam tatasusunan $data.
4. Simpan hasil pengekstrakan
Akhir sekali, kami boleh menyimpan hasil yang diekstrak ke pangkalan data, fail atau media storan lain. Mengambil penyimpanan ke fail sebagai contoh, fungsi panggil balik boleh diubah suai seperti berikut:
$spider->on_extract_page = function ($page, $data) { // 使用CSS选择器定位标题和正文的元素 $title = $page['raw']['headers']['title'][0]; $content = $page['raw']['content']; // 提取标题和正文的文本内容 $data['title'] = $title; $data['content'] = strip_tags($content); // 保存提取结果到文件中 file_put_contents('extracted_data.txt', var_export($data, true), FILE_APPEND); return $data; };
Dalam kod di atas, kami menggunakan fungsi file_put_contents untuk menyimpan tatasusunan $data dalam bentuk teks ke fail extracted_data.txt, dan gunakan fungsi var_export untuk menukar tatasusunan ke dalam bentuk String.
5. Jalankan crawler
Selepas selesai menulis kod, kita boleh menjalankan crawler. Jalankan arahan berikut dalam baris arahan:
php spider.php
Dengan menjalankan arahan di atas, perangkak akan merangkak halaman web bermula dari URL awal, mencari dan mengekstrak maklumat yang diperlukan mengikut peraturan pengekstrakan kami, dan menyimpan hasil pengekstrakan ke fail.
Ringkasan:
Melalui PHP dan phpSpider, kami boleh mengekstrak data dengan mudah daripada halaman web. Hanya tulis sedikit kod dan tentukan peraturan pengekstrakan mudah untuk mengekstrak maklumat yang diperlukan dengan cepat daripada halaman web yang besar. Sudah tentu, ini hanyalah penggunaan asas phpSpider Ia juga menyediakan fungsi yang lebih berkuasa dan pilihan konfigurasi yang fleksibel untuk memenuhi keperluan projek yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak maklumat yang diperlukan dari halaman web menggunakan PHP dan phpSpider?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!