С приведенным ниже кодом я получаю только пустую страницу, имя или псевдоним не получают эхо. Я скрещенных проверил путь его правильно что-то еще его не вторя назадXpath возвращает пустую страницу, не отражает значения
<?php
$url="http://www.mans-best-friend.org.uk/dog-breeds-alphabetical-list.htm";
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,$url);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1');
$html = curl_exec($curl_handle);
curl_close($curl_handle);
$mydoc = new DOMDocument();
libxml_use_internal_errors(TRUE); //disable libxml errors
if(empty($html)) die("EMPTY HTML");
$mydoc->loadHTML($html);
libxml_clear_errors(); //remove errors for yucky html
$my_xpath = new DOMXPath($mydoc);
//////////////////////////////////////////////////////
$nodes = $my_xpath->query('//*[@id="table94"]/tbody/tr/td');
foreach($nodes as $node)
{
$title=$my_xpath->query('p[@data-iceapc="1"]/span/a/font', $node);
$nickname=$my_xpath->query('p[@data-iceapc="2"]/span/a/font', $node);
echo $title." ".$nickname."<br>";
}
?>
В случае, если вы не можете найти р элемент. Прокрутите список до тех пор, где имена собак. Напр. Affenpinscher щелкните правой кнопкой мыши по нему и выберите проверку - он показывает элемент p.
Если я посмотреть на исходный код вашего ссылка URL, нет 'p' элемент с' данными-iceapc 'атрибут. Поэтому ваш xpath не может совпадать. –
его там ... прокрутите страницу, где имена собак - это .g Affenpinscher щелкните правой кнопкой мыши по ней и выберите проверку ... он показывает элемент p –
Этот атрибут исходит от одного из многих трекеров, которые находятся на этой странице. Попробуйте включить какой-либо рекламный блок или просто посмотрите код html, который вы получаете от завитка, и вы увидите, что этот атрибут не является частью исходного источника. –