简单的HTML DOM只有1个元素

时间:2011-09-22 21:04:29

标签: php web-scraping simple-html-dom

我在这里按照NetTuts的简化版抓取教程,它基本上找到了class=preview的所有div

http://net.tutsplus.com/tutorials/php/html-parsing-and-screen-scraping-with-the-simple-html-dom-library/comment-page-1/#comments

这是我的代码。问题在于,当我计算$items时,我只得到1,所以它只得到class=preview的第一个div,而不是全部。

$articles = array();   
$html = new simple_html_dom();
$html->load_file('http://net.tutsplus.com/page/76/');

$items = $html->find('div[class=preview]');  
echo "count: " . count($items);

1 个答案:

答案 0 :(得分:1)

尝试使用DOMDocumentDOMXPath

$file = file_get_contents('http://net.tutsplus.com/page/76/');
$dom = new DOMDocument();
@$dom->loadHTML($file);
$domx = new DOMXPath($dom);
$nodelist = $domx->evaluate("//div[@class='preview']");
foreach ($nodelist as $node) { print $node->nodeValue; }