Reputation: 428
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
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