@xuxubla

Почему Simple HTML Dom находит лишние элементы?

По неизвестной мне причине парсер находит элементы, которые я не вижу в коде страницы.
<?php
include_once 'simple_html_dom.php';
$url = 'http://www.felix.ru';
$html = new simple_html_dom();
$html -> load_file($url);
foreach ($html->find('a.Depth[href*=catalog], a.Depth2[href*=catalog]') as $e) {
	echo $e->href . '<br>';
}

К примеру, выводит следующие ссылки:
/catalogue/3245/333449/
/catalogue/2152/320429/
/catalogue/2152/320430/

Наверняка ответ лежит на поверхности. Но собственных знаний не хватает по причине малоопытности.
  • Вопрос задан
  • 281 просмотр
Решения вопроса 2
@Fortop
Tech/Team lead
Страница, которую смотрите вы в браузере, и которую получил ваш скрипт могут быть разными даже если урл один и тот же.

Поэтому сохраняйте полученный html в файл, для отладки. И сверяйте результаты скрипта именно с содержанием файла.
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Например потому, что в браузере они удалены скриптом уже после загрузки страницы. Или сервер генерирует контент исходя из User-Agent или Referer. Или ещё что-нибудь.
Загрузите страницу через file_get_contents и сохраните в файл, смотрите что будет там.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
значит они действительно присутствуют
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы