php - 用 xpath 抓取,报错

标签 php dom xpath

我正在尝试使用 xpath 从页面抓取中获取文本,但现在我不断收到返回的错误,不知道为什么! - 请记住,我是一个非常新的 php 用户,这是我参与的一个大学项目,它的证明非常具有挑战性 :P 但嘿,它应该是。

这是代码,

<?php

$html = file_get_contents('http://www.amazon.co.uk/New-Apple-iPod-touch-Generation/dp/B0040GIZTI/ref=br_lf_m_1000333483_1_1_img?ie=UTF8&s=electronics&pf_rd_p=229345967&pf_rd_s=center-3&pf_rd_t=1401&pf_rd_i=1000333483&pf_rd_m=A3P5ROKL5A1OLE&pf_rd_r=1ZW9HJW2KN2C2MTRJH60');

$dom = new DOMDocument();
$dom->loadHTML($html);

$xpath = new DOMXpath($dom);

$in_stock = $xpath->query("/html/body/div[@id='divsinglecolumnminwidth']/form[@id='handleBuy']/table[3]/tbody/tr[3]/td/div/span");



?>

我收到以下错误...

Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Unexpected end tag : head in Entity, line: 2664 in C:\xampp\htdocs\scraping\domxpath.php on line 19

大约一百次!

非常感谢任何帮助! , 它一定很容易修复 :P

最佳答案

只需将这一行放在代码的第一行即可停止显示错误,当您的文档是 HTML 页面并且您不知道它是否是格式正确的 XML 文档时,这尤其有用。

libxml_use_internal_errors(true);

http://fr2.php.net/manual/fr/function.libxml-use-internal-errors.php

关于php - 用 xpath 抓取,报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5449907/

相关文章:

javascript - 需要 jQuery 时间表小部件

javascript - 原生 JS 相当于 jQuery 委托(delegate)

java - 添加公共(public)类以使用 xpath 和 Java Selenium 进行单击

php - 如何在 Admin Silverstripe 中添加自定义按钮及其功能?

javascript - 停止对依赖于 JSON-Pretty 的 JavaScript 进行缓存

php - 尝试使用 YouTube API 时出现需要登录错误

xml - 为什么//后代也在这个 XSLT 模板中评估 sibling ?

html - 如何删除文本但保留 HTML 元素、属性和属性值?

php - 简单的 PHP 表单不起作用

php - 独立使用 Symfony Routing 时如何缓存路由?