@ChaseVase

Phpquery почему загружается одна и та же страница (пагинация)?

Здравствуйте, возникла проблема, при попытке спарсить несколько страниц, скрипт парсит лишь только одну страницу - первую. И поскольку я на нашел ссылок в самой пагинации, я решил попробовать с помощью счетчика результатов и "кастомных" ссылок, но не смог найти ошибку, из-за которой постоянно парсится лишь одна страница.
Для примера я взял - steamcommunity.com

$a = 1;
$url = "http://steamcommunity.com/market/search?q=MONTASAYER#p".$a."_price_asc";

function parser($url) {
    global $a;
    $file = get_content($url);
    $doc = phpQuery::newDocument($file);
    $startlist = array();
    $endlist = array();
    foreach ($doc->find('#searchResults_ctn .market_paging_summary') as $page) {
        $page = pq($page);
        $startlist = $page->find('span[id=searchResults_end]')->html();
        $endlist = $page->find('span[id=searchResults_total]')->html();
    }  
    if ($startlist < $endlist) {
        foreach ($doc->find('#searchResultsRows .market_recent_listing_row') as $item) {
            $item = pq($item);
            $img = $item->find('.market_listing_item_img')->attr('src');
            $text = $item->find('.market_listing_item_name_block span[class=market_listing_item_name]')->html();
            $gold = $item->find('.market_listing_price_listings_block span[class=sale_price]');
            echo "<img src='$img'>";
            echo $text;
            echo "Цена: $gold";
            echo "<hr>";
        }
        while ($startlist = $endlist) {
            $a = ++$a;
            $url = "http://steamcommunity.com/market/search?q=MONTASAYER#p".$a."_price_asc";
            parser($url);
        }
    }
}
  • Вопрос задан
  • 339 просмотров
Решения вопроса 1
@entermix
Ссылка:
steamcommunity.com/market/search?q=MONTASAYER#p1_p...

Первая страница:
steamcommunity.com/market/search/render/?query=MON...

Вторая страница:
steamcommunity.com/market/search/render/?query=MON...

Все что нужно, прямо в JSON, а Вы что то совсем не то делаете, если я правильно понял
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы