Здравствуйте, подскажите, пожалуйста, пытаюсь спарсить форум в учебных целях. Код работает для тех тем, где меньше 5-7 тем, и нет стрелочки вперед(я так думаю)
Вот пример ссылки с пагинацией, которая парсит все страницы -
https://www.forumhouse.ru/threads/425179/
Вот пример, где есть стрелка "дальше" в пагинации и соответственно, возвращает только 1 страницу.
https://www.forumhouse.ru/threads/102027/
Подскажите, пожалуйста, как ее обойти, спасибо
Код
function parser($url, $start, $end){
if($start < $end){
$file = file_get_contents($url);
$doc = phpQuery::newDocument($file);
foreach($doc->find('.messageList') as $article){
$article = pq($article);
//$img = $article->find('.img-cont img')->attr('src');
$text = $article->find('.messageText')->html();
//echo "<img src='$img'>";
//echo $text;
echo '<hr>';
}
//перебираем пагинацию в теме
$next = $doc->find('nav .currentPage ')->next()->attr('href');
if( !empty($next) ){
$start++;
$full_url="https://www.forumhouse.ru/$next";
parser($full_url, $start, $end);
echo $full_url;
echo $next;
}
}
}
$url = "https://www.forumhouse.ru/threads/102027/";
$start = 0;
$end = 9;
parser($url, $start, $end);