Не парсит больше одной страницы сайта

219
03 сентября 2018, 03:20

Есть следующая структура пагинации на сайте конкурента:

<nav> 
<ul class="pager col-xs-12" id="yw0"> 
	<li class="page selected"><a href="/catalog/zapchasti-k-selhoztehnike/traktory">1</a></li> 
	<li class="page"><a href="/catalog/zapchasti-k-selhoztehnike/traktory?page=2">2</a></li> 
	<li class="page"><a href="/catalog/zapchasti-k-selhoztehnike/traktory?page=3">3</a></li> 
	<li class="page"><a href="/catalog/zapchasti-k-selhoztehnike/traktory?page=4">4</a></li> 
	<li class="page"><a href="/catalog/zapchasti-k-selhoztehnike/traktory?page=5">5</a></li> 
	<li class="page"><a href="/catalog/zapchasti-k-selhoztehnike/traktory?page=6">6</a></li> 
	<li class="page"><a href="/catalog/zapchasti-k-selhoztehnike/traktory?page=7">7</a></li> 
	<li class="page"><a href="/catalog/zapchasti-k-selhoztehnike/traktory?page=8">8</a></li> 
	<li class="page"><a href="/catalog/zapchasti-k-selhoztehnike/traktory?page=9">9</a></li> 
	<li class="page"><a href="/catalog/zapchasti-k-selhoztehnike/traktory?page=10">10</a></li> 
	<li class="next"><a href="/catalog/zapchasti-k-selhoztehnike/traktory?page=2"></a></li> 
	<li class="last"><a href="/catalog/zapchasti-k-selhoztehnike/traktory?page=432"></a></li> 
</ul>         
</nav>

Нужно спарсить товары со всех страниц. Есть код, который вытаскивает следующую страницу сайта. Код вида:

$next = $doc->find('.pager .selected')->next()->attr('href');

Но он не работает, не тащит ссыль на страницу. Как правильно вытащить в переменную $next искомую страницу исходя из пагинации выше? Буду признателен за ответ. Спасибо заранее.

<?php  
 header('Content-Type: text/html; charset=UTF-8'); 
 require 'phpQuery-onefile.php'; 
 
 
 function parser ($url, $start, $end) { 
 		$file = file_get_contents($url); 
		$doc = phpQuery::newDocument($file); 
 
 	if ($start < $end) { 
 		foreach ($doc->find('.lst-itm') as $position) { 
			$position = pq($position); 
 
			$img = $position->find('img')->attr('src'); 
			$description = $position->find('a span')->text(); 
			$price = $position->find('.cost-item')->text(); 
 
			echo "<img src='https://t-don.com/$img'>"; 
			echo $description; 
			echo '<br>'; 
			echo $price; 
			echo '<hr>'; 
		} 
 
		// $next = $doc->find('.pager a')->next()->attr('href'); 
		$next = $doc->find('.pager .next a')->attr('href'); 
 
		if (!empty($next)) { 
			$start ++;	 
			parser ($next, $start, $end); 
		} 
 	} 
} 
 $url = 'https://t-don.com/catalog/zapchasti-k-selhoztehnike/traktory'; 
 $start = 0; 
 $end = 3; 
 parser ($url, $start, $end); 
 
 phpQuery::unloadDocuments(); 
 
  
 
 
 
 
 

READ ALSO
загрузка сторонних сервисов

загрузка сторонних сервисов

Есть сайт на котором загружаются всякие сторонние сервисы (такие как lptracker, ixseptorru) и другие

237
Наименование классов в c++ [закрыт]

Наименование классов в c++ [закрыт]

Я с другом веду разработку игры и мы недавно столкнулись с небольшой проблемой, которая перетекла в довольно большой спор

202
CreateThread crash

CreateThread crash

Вызываю:

177
Правильно ли я корректирую движение в игре при падении fps?

Правильно ли я корректирую движение в игре при падении fps?

Изучаю движок cocos2d-x, не очень знаком с этой темой, поэтому не уверен, верно ли всё сделал

185