我有一些代码来获取我从网站获取的一些公共可用数据
//Array of params
foreach($params as $par){
$html = file_get_html('WEBSITE.COM/$par');
$name = $html->find('div[class=name]');
$link = $html->find('div[class=secondName]');
foreach($link as $i => $result2)
{
$var = $name[$i]->plaintext;
echo $result2->href,"<br>";
//Insert to database
}
}
因此,每次在循环中,它都会在 URL 中使用不同的参数进入给定的网站,当 404 出现或服务器暂时不可用时,我不断收到破坏脚本的错误。我已经尝试过代码来检查标题并首先检查 $html 是否是一个对象,但我仍然得到错误,有没有办法我可以跳过错误并将它们排除在外并继续执行脚本?
我试图检查标题的代码
function url_exists($url){
if ((strpos($url, "http")) === false) $url = "http://" . $url;
$headers = @get_headers($url);
//print_r($headers);
if (is_array($headers)){
//Check for http error here....should add checks for other errors too...
if(strpos($headers[0], '404 Not Found'))
return false;
else
return true;
}
else
return false;
}
我试图检查对象的代码
if (method_exists($html,"find")) {
// then check if the html element exists to avoid trying to parse non-html
if ($html->find('html')) {
// and only then start searching (and manipulating) the dom