SimpleHtmlDOM,PHP,致命错误:在C:\ xampp \ htdocs中的非对象上调用成员函数find()

时间:2014-12-26 23:46:48

标签: php error-handling web-crawler simple-html-dom information-retrieval

我正在尝试构建这个从某个新闻门户获取新闻的脚本。这应输出新闻编号,新闻标题,图像,源URL和新闻内容。它应该可以获取50篇文章,但是在一个随机数字中它将停止获取并抛出致命错误,声明基本上find()正在调用一个空的不存在的对象。

Fatal error: Call to a member function find() on a non-object in C:\xampp\htdocs\project\test2.php on line 7

我只是不明白为什么它永远不会获取所有新闻,而是取出随机数量的新闻直到错误发生。随便,有时它起作用并显示所有50篇新闻文章。

问题似乎出现在这一行:

$article = file_get_html($link);

foreach($article->find('div.article') as $content){

但下面是完整的脚本。如果您需要澄清任何其他内容,请告诉我,建议表示赞赏。

$t=0;
$page = file_get_html('http://www.website.com/?');
foreach($page->find('div[class="news-other-box"] h3 a') as $crawl){
    $title = $crawl->plaintext; //gets article title
    $link = $crawl->href; //gets article link
    $article = file_get_html($link);  //fetching article page   
    foreach($article->find('div.article') as $content){
            $content=$content->plaintext;//fetching content of article
            foreach($article->find('img[itemprop]') as $img1){  
                $img=$img1->src;  
                $img=saveIMG($img,'news_images');  //save img function, and returns image path "images/source/image_name.jpg" 
            }
            echo "<b>" . $t . "</b>\n ";
            echo $title  . "<br>\n";
            echo '<img src="'.$img.'" /> ' . "<br>\n";
            echo $link . "<br>\n" ; 
            echo $content . "<br><br>\n";
            $t++;
        }       
    }

0 个答案:

没有答案