Php Xpath查询赢得';行不通
我一直在玩cURL和xpath的一些网站垃圾。我终于让我的代码按我想要的方式运行,但在另一侧尝试后,它停止了。我唯一更改的是路径和url。我是新来的,只做了一个星期。因此,如果这是一个明显的失败,请容忍我 我的代码是:Php Xpath查询赢得';行不通,php,xpath,Php,Xpath,我一直在玩cURL和xpath的一些网站垃圾。我终于让我的代码按我想要的方式运行,但在另一侧尝试后,它停止了。我唯一更改的是路径和url。我是新来的,只做了一个星期。因此,如果这是一个明显的失败,请容忍我 我的代码是: 我想到了几件事。你检查过传入的html是什么样子的吗?它是否有不属于那里的内容?您要查找的xpath是否正确?至少在这个较旧的答案中,xpath的范围似乎应该以形式给出 [position()>=100和not(position()>200)] 编辑:现在我想起来了,如果实际
我想到了几件事。你检查过传入的html是什么样子的吗?它是否有不属于那里的内容?您要查找的xpath是否正确?至少在这个较旧的答案中,xpath的范围似乎应该以形式给出
[position()>=100和not(position()>200)]
编辑:现在我想起来了,如果实际html中的项目少于所需的数量,可能xpath会将范围表达式计算为false,因此在查询中找不到任何项目?我解决了我的问题,即路径。firebug给我的路径不适合该站点。为什么我不知道。你说它停止了,这是否意味着脚本超时、没有返回内容、出现错误……等等?很抱歉没有提供这些信息。脚本未超时或返回错误。显示的唯一内容是“Array()”您所说的“更改路径和url”是什么意思?你把它改成了什么?您拥有的xpath仅对代码中的url有效……是的,我知道,也知道为什么我同时更改了url和xpath。它使用不同的url和相应的xpath在另一端工作。我在另一个站点上执行了相同的过程,因此一定是我做错了什么。如果将url更改为:并且将xpath更改为
/html/body/div[1]/div[2]/div[1]/div[2]/div[1]/div[4]/div[2]/div[3]/table/tbody/tr[position()>=1和position()我曾在firefox中使用firebug直接从浏览器复制xpath。因此我不知道我是否会弄错?我尝试使用您对xpath的建议,但也不起作用。我仍然认为它与我的建议相同,但不确定:)我尝试了不同类型的xpath,我使用了一个直接指向一个项目的路径,而不是范围d它仍然不起作用。我尝试了你的代码,但它似乎无法解析它接收到的html。$html变量会被某种html(或至少是看起来像html的数据)填充,但当你尝试用$dom->loadHTML($html)加载它时,则$dom将无法成功解析它。我认为您的原始代码和xpath查询是正确的,但问题出在您尝试解析的网页上。可能Firefox/Firebug会动态修复html,因此您在使用Firefox时可以获得正确的xpath。好的,这听起来可能是问题所在。我该如何解决这个问题让我将正确的html代码输入到变量中?我没有经常这样做,事实上,解析html对我来说也是非常罕见的情况。:)我发现的链接似乎表明loadHtml()应该也接受无效的html,但可能它需要一些额外的开关打开或关闭…也许使用将帮助您找到问题。以下是一些可能有用的其他链接:和