Перед file_get_html/load_file
методом, вы должны сначала проверить, существует ли URL.
Если URL существует, вы проходите один шаг.
(Некоторые серверы обслуживают страницу 404 действительной страницей HTML., который имеет собственную структуру HTML-страницы, такую как тело, голова и т. д. Но в ней есть только текст "Эта страница не может быть найдена! Ошибка 404, бла-бла ..)
Если URL-адрес 200-OK, то выдолжен проверить, является ли выбранная вещь объектом и установлены ли узлы.
Это код, который я использовал на своих страницах.
function url_exists($url){
if ((strpos($url, "http")) === false) $url = "http://" . $url;
$headers = @get_headers($url);
// print_r($headers);
if (is_array($headers)){
if(strpos($headers[0], '404 Not Found'))
return false;
else
return true;
}
else
return false;
}
$pageAddress='http://www.google.com';
if ( url_exists($pageAddress) ) {
$htmlPage->load_file( $pageAddress );
} else {
echo 'url doesn t exist, i stop';
return;
}
if( $htmlPage && is_object($htmlPage) && isset($htmlPage->nodes) )
{
// do your work here...
} else {
echo 'fetched page is not ok, i stop';
return;
}