harishk
harishk

Reputation: 428

PHP DOM Web Crawler prints "nothing". no error, nothing

i have been working with web crawler. it worked for few sites, now when i tried it with this particular site, it came nothing. no error nothing.

i wonder what went wrong..

the code goes as:

<?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;
    }
}
}
?>

please go through the below given link for HTML structure..

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

Any help is appreciated..

Upvotes: 0

Views: 29

Answers (1)

Marek
Marek

Reputation: 148

There is no DOM element like dl.icon a dt a. You probably want to fetch dl.icon dt a. Remove a from first argument in find method.

Always try to debug your code before asking questions. Simple echo "A"; die(); echo "B"; die(); after every statement will be very helpfull :)

In this case second foreach have 0 elements all the time.

Upvotes: 1

Related Questions