- Как заказать парсер сайта
- Видеоинструкции по настройке
- Возможности программы-парсера
- Действия в парсере
- Раздел «Работа с HTML»
- Раздел «Текстовые»
- Раздел «Перекодировка и форматирование»
- Раздел «Проверка и сравнение»
- Раздел «Разное»
- Раздел «Функции массива»
- Раздел «Числовые»
- Раздел «Работа с переменными»
- Раздел «Листы и книги Excel»
- Раздел «Обработка файлов из папки»
- Раздел «HTTP запрос»
- Раздел «Internet Explorer»
- Раздел «Управление парсером»
- Раздел «Веб-запросы, XML, макросы VBA»
- Недокументированные действия
- Раздел «ИИ (нейросети)»
- Работа с браузером (Chrome и т.п.)
- Отключенные (устаревшие) действия
- Интерфейс программы
- Использование браузера
- Настройка парсера
- Вывод характеристик в несколько столбцов
- Обход защиты от роботов на сайте
- Основы HTML для настройки парсера
Получение ссылок пейджера
- Ошибки при парсинге
- Вывод массива значений в одну ячейку
- Обход защиты Qrator, Incapsula и CloudFare
- Ошибка: сервер не ответил за 9 секунд
- Парсер перезаписывает данные в первой строке листа
- Невозможно запустить макрос, - нет доступа к проекту VBA
- Ошибка Compile error in hidden module
- Ошибка загрузки страницы по HTTPS (SSL Error)
- Дополнительные возможности
- Зарезервированные переменные и подстановочные коды парсера
- Кеширование страниц в парсере
- Переменные в парсере
- Обновление строк в существующей таблице при парсинге
- Переключение между наборами настроек в парсере
- Запуск мониторинга цен по расписанию
- Запуск парсера по расписанию
- Программный запуск парсера из внешнего макроса
- Доп. опции парсера (файл parser.ini)
- Наборы действий
- Прочие статьи по настройке парсера
- Коды останова парсера, и перехода на другое действие
- Плагины для парсера
- Запуск нескольких парсеров по очереди
- Объектная модель мониторинга цен
- Объектная модель парсера
- Обработка капчи (Captcha) в парсере
- Прокси серверы
Получение ссылок пейджера |
При парсинге сайтов обычно требуется обработать не только первую страницу результатов, но и все остальные страницы каталога, списка товаров, объявлений или публикаций.
Для переключения между страницами результатов обычно используется пейджер (постраничная навигация) — специальный элемент страницы, содержащий ссылки или кнопки для перехода к следующим страницам. Например:

Задача парсера — получить ссылки на все страницы результатов, сформировать из них список и последовательно обработать каждую страницу.
Способы получения ссылок пейджера
В зависимости от того, как реализована постраничная навигация на сайте, можно использовать разные способы.
1. Обычный пейджер — ссылки присутствуют в HTML
Самый простой вариант — когда номера страниц являются обычными гиперссылками. Например, при нажатии на страницу 2 браузер переходит по адресу вида:
https://example.com/catalog/?page=2
В этом случае достаточно использовать действие Получить все ссылки пейджера. Оно автоматически находит ссылки в навигационном блоке и формирует массив адресов страниц.
Действие может принимать на вход как ссылку на исходную страницу, так и непосредственно HTML-код страницы (или его часть). Если ссылки определяются правильно, дополнительные параметры указывать не требуется.
Если автоматическое определение работает неправильно, можно настроить три параметра действия:
- HTML фильтры — позволяет ограничить поиск ссылок определённым HTML-элементом. Например, ul class=pager или id=pager. Это полезно, если на странице присутствуют другие ссылки, которые можно ошибочно принять за элементы пейджера.
- Префикс пейджера — позволяет указать формат адресов страниц, если он отличается от стандартных вариантов, которые действие определяет автоматически.
- Дополнительные параметры — позволяют настроить диапазон номеров страниц, шаг между ними и другие особенности формирования массива ссылок.
Например, параметр min=2&max=100 означает, что массив ссылок будет сформирован начиная со страницы №2 и заканчивая страницей №100.
Другие доступные параметры: DeleteBaseURL=1 — исключить из массива исходную ссылку; step=10 — задать шаг между страницами; shift=-1 — изменить номера страниц на единицу в меньшую сторону.
Подробное описание всех параметров, примеры и рекомендации приведены в инструкции по действию Получить все ссылки пейджера.
2. Пейджер с неизвестным количеством страниц
Иногда количество страниц невозможно определить сразу. Например, на первой странице отображаются номера 1–7, но только после перехода на страницу 7 становится понятно, что существуют страницы 8 и 9. На следующей странице могут обнаружиться ещё несколько страниц.
В такой ситуации можно попробовать найти общее количество страниц в исходном HTML-коде сайта. Если оно присутствует, его можно извлечь и передать в действие HTML: Получить все ссылки пейджера через параметр max=.
Если определить общее количество страниц не удалось, можно сформировать массив ссылок с запасом. Например, создать ссылки на первые 100 страниц, а при обработке каждой страницы проверять, присутствуют ли на ней товары или другие нужные данные. Когда парсер дойдёт до пустой страницы, обработку можно остановить.
Если стандартное действие не позволяет правильно сформировать ссылки, можно создать массив адресов самостоятельно: сформировать последовательность чисел, добавить к каждому числу необходимый префикс и суффикс и получить готовые ссылки.
Подробная инструкция с примерами: Пейджер с неизвестным заранее количеством страниц.
3. Пейджер на JavaScript
На некоторых сайтах переключение страниц выполняется не обычными гиперссылками, а с помощью JavaScript. Внешне такой пейджер может выглядеть совершенно обычно (1, 2, 3, ...), однако в HTML-коде ссылки на страницы отсутствуют. Иногда все элементы навигации ведут на один и тот же адрес или имеют ссылку, содержащую символ #.
В этом случае действие Получить все ссылки пейджера не поможет: извлекать адреса переходов просто неоткуда.
Для решения задачи необходимо выяснить, какие запросы отправляет браузер серверу при переключении страниц, и воспроизвести эти запросы средствами парсера. Для этого используется консоль разработчика браузера (вкладка Network), где можно увидеть GET- и POST-запросы, выполняемые при нажатии на элементы пейджера.
После определения формата запроса можно сформировать массив значений (например, номеров страниц) и для каждого значения выполнить соответствующий запрос к сайту.
Подробная инструкция: Переключение страниц на скриптах.
Какой способ выбрать?
Перед настройкой парсера рекомендуется открыть исходный код страницы и проверить, как именно реализована постраничная навигация.
- Если в HTML присутствуют полноценные ссылки на страницы — используйте действие Получить все ссылки пейджера.
- Если ссылки присутствуют, но количество страниц заранее неизвестно, воспользуйтесь инструкцией Пейджер с неизвестным заранее количеством страниц.
- Если переключение страниц выполняется JavaScript и обычных ссылок нет, используйте инструкцию Переключение страниц на скриптах.
После получения массива ссылок (или формирования массива запросов) остаётся настроить обработку каждой страницы: загрузить её содержимое, извлечь необходимые данные и передать результаты на следующий этап обработки.
- Добавить комментарий
- 917 просмотров









