gpt4 book ai didi

xpath - 抓取Google DOMNodelist始终为空

转载 作者:行者123 更新时间:2023-12-03 16:54:07 25 4
gpt4 key购买 nike

我想抓取Google搜索结果以收集IMDB网址。每次我使用//ol[@id="rso"]//li[@class="g"]进行xpath查询时,DOMNodelist为空,则不返回任何内容。使用var_dump进行调试,结果为object(DOMNodeList)#38 (0) {
}
。下面是脚本

function crawlIMDB($vtitle, $vid){
$vtitle .= ' imdb';
$vtitle = urlencode($vtitle);
$plus = str_replace('%20', '+', $vtitle);
$url = 'http://www.google.com/search?q='.$vtitle.'&gws_rd=ssl#q='.$plus;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl, CURLOPT_HEADER, FALSE);
$response = curl_exec($curl);
curl_close($curl);

$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML($response);
$xpath = new DOMXPath($doc);
$entries = $xpath->query('//ol[@id="rso"]//li[@class="g"]');
die(var_dump($entries));
}


当我尝试使用chrome扩展程序XPath Helper调试查询时,查询看起来很好,返回了结果。

我寻找的DOM

<ol id="rso">
<div class="srg">
<li class="g"></li>
</div>
</ol>

最佳答案

我会回答我自己的问题。

当我使用CURL时,google发送不同的响应,因此DOM具有不同的结构。这个xpath查询应该可以从Google搜索结果中收集链接。

//h3[@class="r"]/a

希望有帮助。谢谢

关于xpath - 抓取Google DOMNodelist始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24235363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com