php xpath屏幕刮问题

时间:2011-01-20 22:53:56

标签: php xpath screen-scraping

好的,这看起来很简单,但我根本无法进行编码...

$html = new DOMDocument();
@$html->loadHtmlFile('http://www.groupon.com/deals/the-newfoundland-shop');
$xpath = new DOMXPath( $html );
$nodelist = $xpath->query( "/html/body/div[@id='global_container']/div[@id='main']/div[@id='content']/div/div[1]/div[2]/div[@id='number_sold_container']/table[1]/tbody/tr/td" );
foreach ($nodelist as $n){
echo $n->nodeValue."\n";
}
$buys = "$n->nodeValue";

在我放松之前请帮忙......

由于

2 个答案:

答案 0 :(得分:0)

尝试将此语法用于XPath -

/ xhtml:html / xhtml:body / xhtml:div [@ id ='global_container'] ...

如果没有帮助检查你的XPath是否正常(它真的很长)

答案 1 :(得分:0)

第一个FAQ:页面看起来是正确的XHTML,因此您需要使用一些前缀注册XHTML名称空间URI http://www.w3.org/1999/xhtml,并在XPath表达式中使用该前缀。

第二个常见问题解答:您应该注意原始来源没有tbody元素。这是由浏览器添加的。