我不断地从我的代码中得到这个错误,我不知道我做错了什么,这种情况有时会发生,当它想要的时候,它似乎会起作用。
误差
Call to a member function find() on a non-object in C:\xampp\htdocs\sites\P\Find.php on line 265我基本上已经创建了一个爬虫,它搜索网页上的元素,有时这个元素可能不在页面上,我使用if语句检查这一点。
第265行指
if($page->find('div#olpDivId span.price'))码
$page = file_get_html('http://www.amazon.co.uk/dp/0304362212');
if($page->find('div#olpDivId span.price')){
foreach($page->find('div#olpDivId span.price') as $p){
$i[] = floatval($p->plaintext);
}
}如果书不存在,爬虫就会出现空白“对不起产品不存在”的页面,我是不是做错了什么?如能提供任何帮助,将不胜感激。
发布于 2012-05-09 18:03:56
file_get_html可以返回false (如果它无法从网页中获取内容),所以在$page上使用任何方法之前,您应该检查它。
$page = file_get_html('http://www.amazon.co.uk/dp/0304362212');
if($page !== FALSE){
foreach($page->find('div#olpDivId span.price') as $p){
$i[] = floatval($p->plaintext);
}
}https://stackoverflow.com/questions/10521424
复制相似问题