我一直在研究这个网络爬虫。它工作正常,只是它打印每一个提取的语句两次。
我尝试在每个循环中回显,但似乎需要一些开箱即用的视角。
我的代码如下:
<?php
require_once('dom/simple_html_dom.php');
$html = file_get_html('https://www.uworld.com/Forum/topics.aspx?ForumID=1&gid=1');
$elementCount=0;
foreach($html->find('h3.h3-forum-title a') as $element) {
$elementCount++;
$element->href = "http://www.studentdoc.com/phpBB2/" . $element->href;
echo '<li target="_blank" class="itemtitle">';
if($elementCount < 5 && $elementCount > 2 && rand(0,1) == 1) {
echo '<span class="item_new">new</span>';
}
echo $element;
echo '</li>';
if($elementCount==12){
break;
}
}
?>
感谢任何帮助..
答案 0 :(得分:0)
出现此问题是因为该元素在网页上存在两次。您必须缩小find
这样的参数:
foreach($html->find('div.hidden-lg div div div div h3.h3-forum-title a') as $element) {
// process the elements
}