“试图获取非对象的属性”错误PHP

时间:2014-03-29 02:52:36

标签: php html dom curl xhtml

我正在尝试从谷歌搜索中收到价格数据,这段代码给了我一个"试图获得非对象的属性"

      <?php
      $html = file_get_contents('http://www.google.com/#q=ps3&tbm=shop'); //get the html returned from the following url
      $glist = array();
      $gdoc = new DOMDocument();
      libxml_use_internal_errors(TRUE); //disable libxml errors
      if(!empty($html)){ //if any html is actually returned

         $gdoc->loadHTML($html);
         libxml_clear_errors(); //remove errors for yucky html 
         $gxpath = new DOMXPath($gdoc);
         $name = $gxpath->query('b')->item(0)->nodeValue;
      }
       echo "<pre>";
       print_r($glist);
       echo "</pre>";
      ?>

任何帮助都会很好!

1 个答案:

答案 0 :(得分:0)

如果没有更多信息,很难确定它的来源。

可能性来自这条线:

$name = $gxpath->query('b')->item(0)->nodeValue;

可能是查询,项目或nodeValue不存在。尝试打印$ gxpath的内容,然后打印$ gxpath-&gt; query('b')等,这样你就可以弄清楚发生了什么。

作为一个旁注,除了创建数组之外,你在打印$ glist而不实际做任何事情。