Хорошо, это кажется таким простым, но я не могу заставить этот код работать вообще ...
$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";
Пожалуйста, помогите, прежде чем я потеряю его ...
Спасибо
Первый FAQ: страница выглядит корректно в формате XHTML, поэтому вам нужно зарегистрировать URI http://www.w3.org/1999/xhtml пространства имен XHTML с некоторым префиксом и использовать этот префикс в выражении XPath.
http://www.w3.org/1999/xhtml
Второй FAQ: вы должны отметить, чтоОригинальный источник не имеет элемента tbody.Это добавлено браузером.
tbody
Попробуйте использовать этот синтаксис для XPath -
/ xhtml: html / xhtml: body / xhtml: div [@ id = 'global_container'] ...
Если не помогло проверить, в порядке ли ваш XPath (он действительно длинный)