@vostotskiy

Как правильно парсить динамически пагинируемый сайт?

Здравствуйте. Пытаюсь парсить данные с одного магазина, где товары подгружаються динамически с помощью ajax при прокрутке. Количество товара на странице не показывается, данных подгружаються асинхронно через xhr (при запросах к основной url просто добавляется параметр &page = i, где i -номер следубщей страницы, ну и затем полученный контент аппендится к основной странице).
Точкой останова парсинга являеться наличие на странице определенного селектора, (если значение i выходит за максимальное значение пагинации), в котором выводиться сообщение, что товар не найден.
Подскажите, пожалуйста, как грамотно организовать цикл парсинга с помощью jQuery.ajax(), чтобы во первых все они работали асинхронно и паралельно доставляли данные, а с другой стороны, чтобы как только в первом же запросе выскочит вышеуказанный селектор, то остановить все последующие запросы и парсинг.
Если бы количество страниц было бы известно, то можно было бы просто запустить в виде цикле for jQuery.ajax() запросы с параметром async = true и в блоке success добавлять к глобальной переменной спарсенные данные.
В случае с неизвестным кол-вом страниц в динамической пагинации с одной стороны хочется получить данные асинхронно, с другой стороны -не хочется парсить лишние страницы.
Сейчас установлено ограничение на парсинг-1000 позиций. это около 40 запросов (i = 1..40), каждый запрос длиться около 3-4 сек. Но товаров в категории реально может быть 10 штук и хватит парсинга 1 страницы(на парсинге второй в респонсе появиться селектор, по которому мы могли бы остановить парсинг)
Заранее спасибо за советы.
  • Вопрос задан
  • 788 просмотров
Пригласить эксперта
Ответы на вопрос 1
@NeuroPastor
Запросы GET ведь идут к ?page=xxx?
Вот к ним и обращайся курлом или чем там работа идет:)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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