我想抓取這個網站並獲得表格http://www.basketligaen.dk/da/top/turnering/stilling/,但是當我嘗試獲取內容時,我得到了DOMNodeList Object ([length] => 0)
。 我的代碼如下所示:使用curl和xpath來抓取網站
$curl = curl_init('http://www.basketligaen.dk/da/top/turnering/stilling/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10');
$html = curl_exec($curl);
curl_close($curl);
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("//div[@id='3739']/table");
print_r($elements);
我以前爬了很多的網頁,但我不能找到與這一個問題 - 有沒有誰可以看到什麼,我做錯了什麼?
將其更改爲:$ elements = $ xpath-> query(「// div [@ id ='3739'] // table」);然後打印元素:print_r($ elements); - 我仍然得到:DOMNodeList Object([length] => 0)。我不應該得到大於0的長度,還是我失去了一些東西? –
@AndreasBaran啊,即使你使用答案中的其他表達式,你也會得到空的結果嗎? – alecxe
是的 - 當運行這個:$ elements = $ xpath-> query(「// div [。='Grundspil']/following-sibling :: table」); print_r($ elements);我仍然得到一個空的結果 –