PHP DOM Web Crawler打印“无”。没有错误,没有

时间:2017-02-20 16:32:27

标签: php

我一直在使用网络抓取工具。它适用于少数网站, 现在,当我尝试使用这个特定网站时,它什么都没有。没有错误。

我想知道出了什么问题......

代码如下:

<?php
    require_once('dom/simple_html_dom.php'); 
    $html = file_get_html('http://www.studentdoc.com/phpBB2/viewforum.php?f=18&sid=2a150b97528c8ec47600692cc77daaf3');
    $elementCount=0;
    foreach($html->find('dl.icon a') as $elemen) {
    foreach($elemen->find('dt a') as $element) {
    $elementCount++;
    $element->href = "http://www.usmleforum.com" . $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;
    }
}
}
?>

请浏览下面给出的HTML结构链接..

http://www.studentdoc.com/phpBB2/viewforum.php?f=18&sid=2a150b97528c8ec47600692cc77daaf3

感谢任何帮助..

1 个答案:

答案 0 :(得分:1)

没有像dl.icon a dt a这样的DOM元素。您可能想要获取dl.icon dt a。从find方法中的第一个参数中删除a

在提出问题之前,请务必尝试调试代码。每个语句后的简单echo "A"; die(); echo "B"; die();将非常有用:)。

在这种情况下,第二个foreach始终有0个元素。