Rumah >pembangunan bahagian belakang >tutorial php >Tutorial perangkak asas: menghuraikan HTML menggunakan PHP dan ungkapan biasa
Dengan perkembangan pesat Internet, kami semakin perlu mengekstrak sejumlah besar data daripada halaman web sebagai asas untuk kehidupan dan kerja harian kami, yang memerlukan penggunaan alat perangkak. Artikel ini akan memperkenalkan cara menggunakan PHP dan ungkapan biasa untuk menghuraikan data berdasarkan dokumen HTML.
1. Gambaran keseluruhan crawler
Sebelum memahami crawler secara mendalam, kita perlu mengetahui apa itu crawler. Perayap yang dipanggil ialah alat pengumpulan data rangkaian yang boleh mengumpul maklumat secara automatik daripada Internet dan melakukan pemprosesan seperti penyaringan, penyepaduan dan analisis, dan akhirnya membentuk set data tertentu. Crawler digunakan terutamanya dalam bidang seperti perlombongan data, pengumpulan risikan kompetitif perniagaan dan penyelidikan akademik.
2. Gunakan PHP untuk menghuraikan HTML
Sebelum kita membuat perangkak, kita perlu memahami cara menghuraikan data daripada dokumen HTML. Sebagai bahasa skrip sebelah pelayan, PHP mempunyai fungsi penghuraian HTML yang biasa digunakan Perpustakaan penghuraian HTML termasuk simple_html_dom, phpQuery, dsb. Perpustakaan ini memberikan kemudahan kepada kami untuk menggunakan pemilih CSS dan sintaks cara jQuery dalam PHP, dan kami boleh menghuraikan data daripada fail HTML dengan mudah.
Sebelum memperkenalkan cara menggunakan ungkapan biasa untuk menghuraikan HTML, mari kita lihat cara menggunakan simple_html_dom untuk penghuraian HTML Ini adalah penghurai HTML yang sangat mudah dan mudah digunakan. Anda hanya perlu menggunakan kod berikut :
require_once('simple_html_dom.php'); $html = file_get_html('http://example.com/'); echo $html->find('title',0)->plaintext;
Kod di atas boleh mendapatkan kandungan teg tajuk dalam URL yang ditentukan (http://example.com/) dan mengeluarkannya $html ialah objek HTML DOM.
3. Gunakan ungkapan biasa untuk menghuraikan HTML
Ungkapan biasa ialah kaedah untuk menerangkan corak teks (corak rentetan) dan merupakan alat pemadanan corak umum. Menggunakan ungkapan biasa, kami boleh melakukan pelbagai operasi kompleks dengan mudah pada teks, termasuk carian data, penggantian, pemisahan, dsb. Apabila menghuraikan data HTML, kita selalunya perlu menggunakan ungkapan biasa untuk memadankan dan mengekstrak teg, atribut atau kandungan tertentu.
Berikut ialah contoh mudah untuk menghuraikan teg img dalam kod HTML:
$match = preg_match_all('/<img.*?src=["|']?(.*?)["|']?s.*?>/i', $html, $out_img, PREG_SET_ORDER); foreach ($out_img as $img_item) { echo $img_item[1]; }
Kod di atas menggunakan fungsi preg_match_all untuk memadankan teg a1f02c36ba31691bcfe87b2722de723b dalam HTML melalui ungkapan biasa dan Nilai atribut src diekstrak dan dikeluarkan ke skrin.
4. Pelaksanaan Crawler
Berdasarkan contoh kod di atas, kita boleh mengubah suai sedikit dan menggabungkannya dengan perpustakaan curl untuk melaksanakan perangkak mudah. Kod berikut boleh memuat turun halaman yang ditentukan dan mengekstrak semua alamat pautan di dalamnya:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//将页面转化成字符串,而不是直接输出 $html = curl_exec($ch); curl_close($ch); preg_match_all('/<a.*?href=["|']?(.*?)["|']?s.*?>/i', $html, $out_links, PREG_SET_ORDER); foreach ($out_links as $link_item) { echo $link_item[1].PHP_EOL;//输出链接地址 }
Dalam kod di atas, kami menggunakan perpustakaan curl untuk mendapatkan kod sumber halaman web Parameter PREG_SET_ORDER menunjukkan padanan mengikut output susunan ungkapan biasa. Perangkak ini boleh melengkapkan fungsi pengekstrakan pautan yang mudah Sudah tentu, kami boleh melanjutkannya dengan menggabungkan corak ekspresi biasa yang lain untuk memenuhi lebih banyak keperluan.
5. Ringkasan
Di atas ialah pengetahuan asas tentang cara menggunakan PHP dan ungkapan biasa untuk menghuraikan dokumen HTML. Dalam kerja sebenar, kita perlu memilih kaedah penghuraian yang berbeza berdasarkan keperluan sebenar dan struktur halaman web, dan menggabungkan alat dan perpustakaan lain dengan sewajarnya untuk menyelesaikan tugas penghuraian data yang kompleks.
Atas ialah kandungan terperinci Tutorial perangkak asas: menghuraikan HTML menggunakan PHP dan ungkapan biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!