爬蟲是一種自動化程序,專門用於從互聯網收集信息。它通過模擬瀏覽器行為,訪問網頁並提取目標數據。 PHP作為一款功能強大的服務器端腳本語言,也可以用來編寫高效的爬蟲程序。
爬蟲的第一步是通過HTTP請求獲取目標網頁的內容。 PHP提供了多種發送HTTP請求的方法,其中最簡單常用的是file_get_contents()函數。
$url = "http://example.com";
$html = file_get_contents($url);
使用file_get_contents()函數可以直接獲取網頁的HTML源碼,並存儲在變量$html中。
獲取網頁源碼後,接下來需要對HTML進行解析,以提取所需信息。 PHP內置的DOMDocument類非常適合處理XML和HTML文檔。
$dom = new DOMDocument();
@$dom->loadHTML($html);
這裡使用loadHTML()方法將HTML字符串轉換為DOM對象,方便後續數據操作。注意加上@避免HTML解析時的警告信息。
XPath是一種查詢語言,用於在XML和HTML文檔中定位節點。結合DOMXPath類,可以方便地定位並提取網頁中的目標元素。
$xpath = new DOMXPath($dom);
$elements = $xpath->query("//h1");
foreach ($elements as $element) {
echo $element->nodeValue;
}
以上代碼通過XPath表達式"//h1"定位所有
$url = "http://example.com";
$html = file_get_contents($url);
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$elements = $xpath->query("//title");
if ($elements->length > 0) {
$title = $elements->item(0)->nodeValue;
echo $title;
} else {
echo "No title found";
}
這段代碼先請求網頁源碼,再解析HTML,最後通過XPath定位