2013-05-03 62 views
1

嗨,我有简单的HTML DOM代码问题,它表明这个错误: -PHP - 未能打开流:没有这样的主机被称为

的file_get_contents(http://www.arakne-links.com) [function.file-GET-内容]:未能打开流: php_network_getaddresses:getaddrinfo失败:没有这样的主机是已知的。 在d:\ XAMPP \ htdocs中\上线75

,因为这个网址http://www.arakne-links.c现在没有工作,我想

知道有什么办法可跳过网址这是不是报废\ simple_html_dom.php工作..

这里是我使用

ini_set('display_errors', 'on'); 
include_once('../../simple_html_dom.php'); 

// create HTML DOM 

$htmls = file_get_html('http://info.vilesilencer.com/top');  
foreach($htmls->find('a[rel="nofollow"]') as $e): 
$test = $e->href; 
$url = array($test); 
$html = array(); 
foreach($url as $key=>$value) { 

// get html plain-text for webpage & assign to html array. 

$html = file_get_html(trim($value)); 

// echo html plain text: 
echo $html->find('title', 0)->innertext; 

}  
endforeach; 

请帮我解决这个问题,它的代码。

Thankyou

+0

您正在使用'file_get_content'函数的地方。 – 2013-05-03 11:57:00

+0

我的事情我修复它,并获得在下一个网址,但现在有新的错误,我更换此代码$ html = file_get_html(trim($ value)); // echo html纯文本: echo $ html-> find('title',0) - > innertext;用$ html = @file_get_html(trim($ value)); if($ html){ echo $ html-> find('title',0) - > innertext; } else { //错误 \t echo'not working'; }但现在它显示一些通知 – Corlax 2013-05-03 11:59:09

+0

你好MIss poo我在这里使用file_get_content echo $ html-> find('title',0) - > innertext;它的一个simple_html_dom.php函数 – Corlax 2013-05-03 12:01:51

回答

4

如何在解析之前检查URL?

ini_set('display_errors', 'on'); 
include_once('simple_html_dom.php'); 

function urlOk($url) { 
    $headers = @get_headers($url); 
    if($headers[0] == 'HTTP/1.1 200 OK') return true; 
    else return false; 
} 

// create HTML DOM 

$htmls = file_get_html('http://info.vilesilencer.com/top');  
foreach($htmls->find('a[rel="nofollow"]') as $e): 
    $test = $e->href; 
    $url = array($test); 
    $html = array(); 
    foreach($url as $key=>$value) { 
     // get html plain-text for webpage & assign to html array. 
     if (urlOk(trim($value))) { 
      $html = file_get_html(trim($value)); 
      echo $html->find('title', 0)->innertext; 
      echo "<br />"; 
     } else { 
     echo 'Error: URL '.$value.' doesn\'t exist.<br />'; 
     } 
}  
endforeach; 
?> 
+0

感谢这正是我正在寻找,但需要小帮助更多petra我得到这个错误注意:试图获取非对象的属性在D:\ xampp \ htdocs \ scrap \ example \ scraping \ example_scraping_imdb.php在线22 .....它的标题标签在第22行找不到。有没有什么办法只有在标题标签找到时才工作第22行 – Corlax 2013-05-03 12:46:07

+0

当没有找到标题时,你需要'其他'部分吗?否则,只需使用error_reporting(E_ALL^E_NOTICE)关闭通知; – Petra 2013-05-03 13:47:36

相关问题