首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调用非对象上的成员函数find()

调用非对象上的成员函数find()
EN

Stack Overflow用户
提问于 2012-05-09 17:51:00
回答 1查看 1.7K关注 0票数 0

我不断地从我的代码中得到这个错误,我不知道我做错了什么,这种情况有时会发生,当它想要的时候,它似乎会起作用。

误差

代码语言:javascript
运行
复制
 Call to a member function find() on a non-object in C:\xampp\htdocs\sites\P\Find.php on line 265

我基本上已经创建了一个爬虫,它搜索网页上的元素,有时这个元素可能不在页面上,我使用if语句检查这一点。

第265行指

代码语言:javascript
运行
复制
if($page->find('div#olpDivId span.price'))

代码语言:javascript
运行
复制
   $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);                 
        }
    }

如果书不存在,爬虫就会出现空白“对不起产品不存在”的页面,我是不是做错了什么?如能提供任何帮助,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-09 18:03:56

file_get_html可以返回false (如果它无法从网页中获取内容),所以在$page上使用任何方法之前,您应该检查它。

代码语言:javascript
运行
复制
$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);                 
    }
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10521424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档