- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想抓取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));
}
<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/
很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清这个问题以便重新打开它,visit the help center .
我正在用PHP解析带有DOM和XPath的HTML页面。 我必须从HTML中获取嵌套的。 我已经在浏览器中使用FirePath定义了一个查询,该查询指向 html/body/table[2]/tbod
我收到上述错误并尝试打印出该对象以查看如何访问其中的数据,但它仅回显 DOMNodeList Object ( ) function dom() { $url = "http://website.co
我尝试运行此代码,但 php 抛出: fatal error :调用路径/to/feature-manager.php 中未定义的方法 DOMNodeList::getAttribute() 这个文件
我有一个 DomDocument,这是不可能的 var_dump(这真的让我很生气),我在上面做: var_dump($dom->getElementsByTagName('url')); 像这样的回
我正在尝试确定以 DOMNodeList 集合作为种子的 foreach 循环的结束。目前,我正在使用 for 循环,希望避免在那里出现“魔数(Magic Number)”。我知道只有 8 列,但我希
我在遍历 DOMNodeList 中的元素时遇到问题。我正在尝试将整个段落放入一个字符串中。我可以用这个分别得到每个句子: $node = $paragraph->item(0); //first
我有这个代码: $dom = new DOMDocument(); $dom->load('file.xml'); $names = $dom->getElementsB
我有一个如下所示的 XML 文件: If-Else ... ... 然后我尝试使用以下 PHP 代码提取它: $subjects = $do
我有一个如下所示的 XML 文件: If-Else ... ... 然后我尝试使用以下 PHP 代码提取它: $subjects = $do
我有两个 DOMNodeLists $textNodes = $xpath->query('//text()'); 和 $titleNodes = $xpath->query('//@title');
有没有办法创建我自己的 DOMNodeList?例如: $doc = new DOMDocument(); $elem = $doc->createElement('div'); $nodeList
我已经登录,并使用 CURL 抓取返回页面,使用 DOMDocument 加载它,然后使用 DOMXPATH 查询它(到找到“table.essgrid tr”)。 (然后我也在查询结果以找到子 't
我试图通过下面给出的 XML 通过下面的 PHP 代码读取“SIM”的值,但由于某种原因它给了我一个空白的“DOMNodeList”知道我在这里做错了什么吗?我想将该元素设置为 000000 我该
我问了this question前一段时间,答案是使用这些数据结构:DOMNode、DOMNodeList 和方法 -childNodes:。 这两个数据结构在 OS X 文档中没有文档;我发现的唯一
所以我花了很多时间编写一个脚本来执行特定任务,当我在本地机器上测试它时它工作正常,但是当我将它上传到我的主机时它给我这个错误 Fatal error: Cannot use object of typ
我是一名优秀的程序员,十分优秀!