@Ilya1988

В чем проблема парсинга пагинации?

Здравствуйте, подскажите, пожалуйста, пытаюсь спарсить форум в учебных целях. Код работает для тех тем, где меньше 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);
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы