deadloop
@deadloop
Активно осваиваю PHP

Как спарсить данные со второй страница?

Я изучаю PHP. И сейчас изучаю тему парсеров. Столкнулся с такой проблемой, есть код который парсит данные с первой страницы, а со второй (третьей) страницы не хочет парсить, где я допустил ошибку?

<?php

    include_once __DIR__ .'./curl_query.php';
    include_once __DIR__ .'./src/phpQuery.php';

    function print_arr($arr){
        echo '<pre>' . print_r($arr, true) . '</pre>';
    };

    function parser($html, $start, $end) {

        if($start < $end)
        {
            $doc = phpQuery::newDocument($html);
            foreach($doc->find('.post-list .post-list-item') as $post)
            {
                $post = pq($post);
                $post_title = $post->find('.post-name')->text();
                echo $post_title . '<br>';
            }

            $next = $doc->find('.pagination .active')->next()->attr('href');
            if(!empty($next))
            {
                $start++;
                parser($next, $start, $end);
            }
            phpQuery::unloadDocuments();
        }

    }

    $html = curl_get('https://www.kolesa.ru/news');
    $start=0;
    $end=3;
    parser($html, $start, $end);
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ответы на вопрос 1
@sergey_harchevnikov
Web программист
Надо сделать массив с url'ами типа
https://www.kolesa.ru/news?page=1
https://www.kolesa.ru/news?page=2
https://www.kolesa.ru/news?page=3
И в функцию parser добавить цикл что бы он почередно заходил по этим ссылкам
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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