Есть следующая структура пагинации на сайте конкурента:
<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();
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть сайт на котором загружаются всякие сторонние сервисы (такие как lptracker, ixseptorru) и другие
Я с другом веду разработку игры и мы недавно столкнулись с небольшой проблемой, которая перетекла в довольно большой спор
Изучаю движок cocos2d-x, не очень знаком с этой темой, поэтому не уверен, верно ли всё сделал