Парсинг цен на маркетплейсах: как настроить сбор данных
Парсинг цен на маркетплейсах можно настроить самому, купить готовый сервис или заказать под свою задачу. Ниже — из каких шагов состоит настройка, где сбор обычно ломается и как получить данные, с которыми можно работать каждый день.
Шаг первый: решить, что именно собирать
Сначала составьте список, а потом уже выбирайте инструмент. Большинство неудачных проектов по парсингу начинаются с фразы «соберите цены конкурентов». После запуска оказывается, что нужна была цена по карте маркетплейса, а пришла цена без скидки, или что половина артикулов не та.
До запуска стоит определить:
- Список позиций. Ссылки на карточки конкурентов или артикулы, сопоставленные с вашими товарами. Сопоставление — самая трудоёмкая часть, и автоматически оно делается не всегда точно.
- Поля. Обычная цена, цена со скидкой, наличие, продавец, рейтинг, число отзывов, срок доставки. Каждое лишнее поле — ещё одно место, которое может сломаться.
- Регион. Цена и наличие на маркетплейсах зависят от адреса доставки и склада, поэтому собирать нужно для того региона, где вы продаёте.
- Частота. Раз в день, несколько раз в день или только перед закупкой. От этого зависят нагрузка и стоимость.
- Куда отдавать результат. Таблица, 1С, CRM, сайт или уведомление в телеграм.
Почему простой скрипт быстро перестаёт работать
Многие начинают с короткого скрипта, который запрашивает страницу и вытаскивает из неё цену. Несколько дней это работает, а потом начинаются проблемы:
- Антибот-защита. Маркетплейсы отличают автоматические запросы от живых посетителей и отвечают капчей, пустой страницей или блокировкой.
- Цена подгружается динамически. В исходном коде страницы её может не быть: она появляется после выполнения скриптов в браузере.
- Адрес запроса. С зарубежного сервера или из дата-центра выдача может отличаться или не открываться совсем.
- Вёрстка меняется. Площадка переделывает карточку, и парсер начинает тихо записывать пустые значения.
Надёжнее всего собирать данные настоящим браузером, который полностью загружает страницу как обычный посетитель, с российского адреса и в разумном темпе. Именно так мы собираем данные с Wildberries и Ozon. Кроме того, нужна проверка результата: если цена пришла нулевой или поле пустое, система должна сообщить о сбое, а не сохранять мусор. Без такой проверки ошибку замечают через неделю, когда по кривым данным уже приняли решение.
Если вам нужны данные только по своим товарам, сначала посмотрите API продавца на маркетплейсе. Для чужих карточек обычно приходится собирать данные с публичных страниц.
История цен и выгрузка туда, где с ней работают
Разовый снимок цен показывает мало. Пользу даёт динамика: когда конкурент снизил цену, сколько длилась акция, повторяются ли распродажи в одни и те же дни. Поэтому каждый результат сбора нужно сохранять с датой, а не перезаписывать вчерашний. Мы ведём собственную базу истории цен, сейчас её объём около 3,8 ГБ. По ней видно, как менялась цена позиции во времени.
Данные полезны, только если они попадают в привычные рабочие инструменты:
- Таблица (Excel или Google Таблицы): ваша цена рядом с ценами конкурентов, разница в рублях и процентах.
- 1С или CRM: чтобы менеджер видел рыночную цену прямо при работе с товаром.
- Сайт: если цены на нём зависят от рынка.
- Телеграм-бот или монитор: сообщение приходит, только когда что-то изменилось сверх заданного порога, например конкурент снизил цену или товар закончился. Так не нужно каждый день вручную просматривать таблицу.
Как запустить сбор, чтобы он работал без присмотра
Парсер, который запускается вручную с ноутбука, рано или поздно перестанут запускать. Рабочая схема выглядит так:
- Сервер. Сбор идёт по расписанию на постоянно включённой машине, а не на чьём-то компьютере.
- Повторные попытки. Если страница не открылась, система пробует ещё раз позже и не останавливает весь сбор.
- Журнал и уведомления о сбоях. Вы узнаёте о проблеме от системы, а не от менеджера, который увидел в отчёте пустые ячейки.
- Поддержка. Когда площадка меняет вёрстку, парсер нужно поправить. Это обычная регулярная работа, к ней стоит быть готовым заранее.
Есть три варианта, как всё это организовать. Своими силами — если в команде есть разработчик и время на поддержку. Готовый сервис мониторинга — если вам подходят его набор полей и форматы выгрузки. Сбор под задачу — если нужны нестандартные поля, свой регион, выгрузка в 1С или CRM либо уведомления по своим правилам. Выбор зависит не от того, какой вариант технически лучше, а от того, кто будет поддерживать систему через полгода.
Соберём под ваш случай и покажем на ваших данных.
Мониторинг цен →