目前我正在使用simple_html_dom.php抓取一个网站并且它运行良好,我怎么能偶然发现一个问题。 View my demo here
我目前有这行代码。
$article = $html2->find('div.top-content > article > p',0);
print $news['article'] = $article->plaintext;
如果我没有弄错,那么应该提取所有p
元素,但它只会拉动我正在抓取的网站上的第一个p
元素。
所以我想知道如何从这个网站中提取所有p
元素。 Website here
答案 0 :(得分:2)
来自manual:
如果设置了index,则返回第N个元素对象,否则返回一个object数组。
因此,当您指定,0
时,您只需获得与选择器匹配的第一个元素。
您可以将其删除,然后您将获得一系列对象。然后你需要遍历数组:
$articles = $html2->find('div.top-content > article > p');
foreach ($articles as $article) {
echo "$article->plaintext<p>";
}