- Как заказать парсер сайта
- Видеоинструкции по настройке
- Возможности программы-парсера
- Действия в парсере
- Раздел «Работа с HTML»
- Раздел «Текстовые»
- Раздел «Перекодировка и форматирование»
- Раздел «Проверка и сравнение»
- Раздел «Разное»
- Раздел «Функции массива»
- Раздел «Числовые»
- Раздел «Работа с переменными»
- Раздел «Листы и книги Excel»
- Раздел «Обработка файлов из папки»
- Раздел «HTTP запрос»
- Раздел «Internet Explorer»
- Раздел «Управление парсером»
- Раздел «Веб-запросы, XML, макросы VBA»
- Недокументированные действия
- Работа с браузером (Chrome и т.п.)
- Отключенные (устаревшие) действия
- Интерфейс программы
- Использование браузера
- Ошибки при парсинге
- Вывод массива значений в одну ячейку
- Обход защиты Qrator, Incapsula и CloudFare
- Ошибка: сервер не ответил за 9 секунд
- Парсер перезаписывает данные в первой строке листа
- Невозможно запустить макрос, - нет доступа к проекту VBA
- Ошибка Compile error in hidden module
- Ошибка загрузки страницы по HTTPS (SSL Error)
- Дополнительные возможности
- Зарезервированные переменные и подстановочные коды парсера
- Кеширование страниц в парсере
- Переменные в парсере
- Обновление строк в существующей таблице при парсинге
- Переключение между наборами настроек в парсере
- Запуск мониторинга цен по расписанию
- Запуск парсера по расписанию
- Программный запуск парсера из внешнего макроса
- Доп. опции парсера (файл parser.ini)
- Наборы действий
- Прочие статьи по настройке парсера
- Коды останова парсера, и перехода на другое действие
- Плагины для парсера
- Запуск нескольких парсеров по очереди
- Обработка капчи (Captcha) в парсере
- Прокси серверы
Переключение страниц на скриптах |
На некоторых сайтах пейджер (навигация по страницам результатов) реализован при помощи javascript. В этом случае элементы пейджера (1 2 3 ... 15) не имеют ссылок, либо все ссылки с пейджера ведут на адрес типа //главная-страница-сайта/#
В таком случае парсер тоже может перебрать все страницы результатов, но подход используется другой.
Прежде всего, необходимо ознакомиться с видеоинструкцией по POST запросам, в частности, про просмотр выполняемых браузером запросов к сайту в консоли браузера (видео можно смотреть с отметки времени 9:28).
Консоль в браузере отображается нажатием комбинации клавиш Ctrl + Shift + i (в Google Chrome и аналогичных) ПЕРЕД началом загрузки страницы сайта.
Рассмотрим порядок действий на примере этого сайта, где страницы результатов перелистываются скриптом.
Первое, что мы сделаем, — это убедимся, что пейджер действительно на скриптах, т.е. с пейджера нет ссылок на страницы результатов:
Теперь в консоли переключаемся на вкладку Network, нажимаем кнопку Clear для очистки списка ранее выполненных запросов, и щелкаем по любой кнопке пейджера на сайте.
В консоли отобразятся все запросы, которые при этом выполнит сайт.
Ищем запрос (типа GET или POST), который подгружает данные очередной страницы:
Теперь наша задача — настроить в парсере аналогичные запросы, предварительно получив количество страниц результатов действием Поиск тегов или другими способами:
Действие | Параметр | Значение | Результат |
---|---|---|---|
... добавляем заголовки запроса и Cookies (при необходимости) ... | |||
Загрузить ИСХОДНЫЙ КОД веб-страницы | URL | https://www.mos.ru/altmosmvc/api/v1/taxi/getInfo/?Region=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&pagenumber=1 | Текст (длиной 20194 символа) |
Быстрый поиск значения в JSON | Список ключей для поиска, через / | Count | Число (длиной 6 символов) |
СОЗДАТЬ массив чисел (для цикла) | Начальное значение | 1 | Массив из 7625 значений: |
Конечное значение | |||
Шаг | 1 | ||
Делитель для конечного значения | 20 | ||
Добавить текст ДО или ПОСЛЕ | Префикс | https://www.mos.ru/altmosmvc/api/v1/taxi/getInfo/?Region=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&pagenumber= | Массив из 7625 значений:https://www.mos.ru/altmosmvc/api/v1/taxi/getInfo/?Region=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&pagenumber=1 https://www.mos.ru/altmosmvc/api/v1/taxi/getInfo/?Region=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&pagenumber=2 https://www.mos.ru/altmosmvc/api/v1/taxi/getInfo/?Region=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&pagenumber=3 https://www.mos.ru/altmosmvc/api/v1/taxi/getInfo/?Region=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&pagenumber=4 https://www.mos.ru/altmosmvc/api/v1/taxi/getInfo/?Region=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&pagenumber=5 ... (ещё 7620 значений) |
Суффикс |
Остаётся на следующем подуровне исходных данных выполнить загрузку этих страниц, и извлечь с них данные.
- Добавить комментарий
- 1512 просмотров
Комментарии
Здравствуйте, Юрий.
Можем настроить под заказ.
Добрый день!
Попробовал с использованием данной инструкции настроить парсер под сайт https://services.govvrn.ru/wps/taxi/zul/permitDocs.zul
К сожалению, в консоли не отображается ссылка на страницу с её номером.
Подскажите, пожалуйста, к чему ещё можно прицепиться в парсере?
Добрый день!
Спасибо за подробную инструкцию.
Столкнулся с ещё одной проблемой.
При использовании ссылки из GET запроса в Chrome загружается код JSON, т.е. вроде всё ОК. Но когда пытаюсь загрузить ссылку в парсере страница не загружается. В коде присутствует текст "Страница не найдена". Попробовал скопировать ссылку в адресную строку IE и загрузить страницу, но она там тоже не загружается а загружается какой-то файл GetInfo.json.
Хотел использовать рекомендацию с заголовками и Cookies, просмотрел видеоинструкцию. Но при настройке парсера не смог найти на этом сайте ни Cookies, ни заголовков. Их там просто нет.
Подскажите, пожалуйста, направление в котором ещё покопать.