PHP简单DOM找不到工作

时间:2013-05-02 23:32:41

标签: php dom screen-scraping simpledom

这让我陷入了一段时间,所以我想我会发布它。我的问题是我的发现 - >没有正常工作,$ product_name即将出现

    require 'mysql_con.php';
    require 'simple_html_dom.php';

    $html = file_get_html('http://www.xxxx.com/index.php?main_page=index&cPath=23');

    /* foreach($html->find('img') as $element) {
           echo $element->src . '<br>'; 
        }    */

    $find = $html->find('#specialsListing .specialsListBoxContents .indent a');

    $i=0;

    foreach ($find as $test) {

        $link = html_entity_decode($test->href);

        $linkgrab = file_get_html($link);

        $product_name = $linkgrab->find('#productName')->innertext;

        echo $product_name;

        break;

    }

1 个答案:

答案 0 :(得分:1)

尽管我正在为其他人发布此内容,但我仍然不确定为什么会出现以下情况,如果有人可以向我指出,我会很高兴。

我解决了这个问题:

$product_name = $linkgrab->find('#productName')->innertext;

应该是

$product_name = $linkgrab->find('#productName', 0)->innertext;

基本上产品名称必须编号。但是我仍然感到困惑,因为在这里: $find = $html->find('#specialsListing .specialsListBoxContents .indent a'); find命令对我有用而不需要编号,我也认为选择器是一个ID也会使它变得不必要,如果有人能指出我错过了什么就会很棒