php xpath проблема соскоба экрана - PullRequest
0 голосов
/ 21 января 2011

Хорошо, это кажется таким простым, но я не могу заставить этот код работать вообще ...

$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 голосов
/ 22 января 2011

Первый FAQ: страница выглядит корректно в формате XHTML, поэтому вам нужно зарегистрировать URI http://www.w3.org/1999/xhtml пространства имен XHTML с некоторым префиксом и использовать этот префикс в выражении XPath.

Второй FAQ: вы должны отметить, чтоОригинальный источник не имеет элемента tbody.Это добавлено браузером.

0 голосов
/ 21 января 2011

Попробуйте использовать этот синтаксис для XPath -

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

Если не помогло проверить, в порядке ли ваш XPath (он действительно длинный)

...