我已經開始寫一個網站的刮刀,也將有履帶,因爲我需要經過一定的聯繫,但我得到這個錯誤:PHP簡單的HTML DOM解析器錯誤
PHP Fatal error: Uncaught Error: Call to a member function find() on null in D:\Projekti\hemrank\simple_html_dom.php:1129 Stack trace:
0 D:\Projekti\hemrank\scrapeit.php(37): simple_html_dom->find('ul')
1 D:\Projekti\hemrank\scrapeit.php(19): ScrapeIt->getAllAddresses()
2 D:\Projekti\hemrank\scrapeit.php(55): ScrapeIt->run()
3 {main} thrown in D:\Projekti\hemrank\simple_html_dom.php on line 1129
當我var_dump $ html變量時,我得到了所有標籤等的完整html,這就是爲什麼它說「調用一個成員函數find()爲null」,當$ html中有實際值時,這很奇怪。下面的代碼中,這不是工作的一部分:
$html = new simple_html_dom();
$html->load_file($baseurl);
if(empty($html)){echo "HTTP Response not received!<br/>\n";exit;}
$links = array();
foreach ($html->find('ul') as $ul) {
if(!empty($ul) && (count($ul)>0))
foreach ($ul->find('li') as $li) {
if(!empty($li) && (count($li)>0))
foreach ($li->find('a') as $a) {
$links[] = $a->href;
}
else
die("NOT AVAILABLE");
}
}
return $links;
}
這是用PHP簡單的HTML DOM解析器一個共同的問題,就是有一個解決方案,或者我應該切換到一些其他類型的刮?
PHP不提供['simple_html_dom'](http://php.net/results.php?q=simple_html_dom&l=en&p=all)類。 – axiac
我認爲它應該只是'$ html = file_get_html($ baseurl);' –
請參閱此鏈接(https://stackoverflow.com/questions/6832197/weird-error-using-php-simple-html-dom -parser) –