无法从页面的所有节点中提取数据

时间:2017-01-25 14:28:27

标签: php xpath

我正在尝试从this link

中提取数据

我正在使用的代码是:

$mydoc->loadHTML($html);
libxml_clear_errors(); //remove errors for yucky html

$my_xpath = new DOMXPath($mydoc);

//////////////////////////////////////////////////////

$nodes = $my_xpath->query( '//div[@class="free-offers"]/div[@class="center"]' );


foreach( $nodes as $node )
{        
    //echo "entered";

    $urlnode=$node->getElementsByTagName('a');
    $url=$urlnode->item(0)->getAttribute('href');

    $imgTags = $node->getElementsByTagName('img');
    $img = $imgTags->item(0)->getAttribute('src');
    $title=$imgTags->item(0)->getAttribute('alt');
    echo $tile.",".$img.",".$url."<br>";
}

但有了这个,我只能提取第一个div节点,而不是其余节点。任何人都可以指出我在这段代码中所犯的错误吗?

1 个答案:

答案 0 :(得分:0)

您的xpath不正确,只是获得了父div。我想你想要这个:

'//div[@class="free-offers"]/div[@class="center"]/div'