Парсинг конкурентов: цены, ассортимент и остатки товаров
Парсинг конкурентов обычно заказывают тогда, когда ручная проверка цен перестала помещаться в рабочий день. Ниже — что реально можно снять с чужих витрин, где эта задача ломается и как выглядит схема, которая работает каждый день без присмотра.
Три разные задачи: цены, ассортимент, остатки
Под одним словом «парсинг» прячутся три разных работы с разной частотой и разной ценой. Цены — самое простое технически, но цена на витрине не одна: базовая, со скидкой по карте, с промокодом, своя для каждого региона. На маркетплейсах она меняется несколько раз в сутки, поэтому выгрузка раз в неделю показывает случайный момент, а не позицию конкурента.
Ассортимент меняется медленно, и здесь достаточно еженедельного среза: что появилось у конкурента за месяц, что он вывел, каких позиций нет у вас. Остатки — самое востребованное и самое неточное. Точных складских цифр не отдаёт никто, на витрине видны только косвенные признаки: «в наличии / под заказ», доступное к добавлению в корзину количество, наличие в конкретном городе. Ценность даёт не один срез, а динамика: когда позиция ушла из наличия и когда вернулась.
С карточки обычно снимают:
- текущую и зачёркнутую цену, размер скидки, цену с картой лояльности;
- признак наличия и доступное количество — по выбранному городу;
- название, артикул, бренд, категорию — для сопоставления с вашим каталогом;
- отзывы и рейтинг — косвенная оценка спроса;
- позицию в поисковой выдаче площадки и срок доставки.
Где парсинг ломается
Первая стена — антибот. Крупные площадки отдают простому скрипту капчу, пустую страницу или подставные цены. Мы обходим это не хитростями с заголовками, а тем, что собираем данные настоящим браузером с российского адреса: страница открывается так же, как у обычного покупателя, со всеми скриптами и подгрузкой. Медленнее, зато данные те же, что видит клиент.
Вторая — регион. Цена и наличие зависят от города. Сбор без явно выбранного региона даёт цифры, которые невозможно сравнить ни с чем, и это самая частая причина, почему первая же выгрузка «не сходится» с ручной проверкой.
Третья — сопоставление товаров. У конкурента другое название, свой артикул, другая фасовка. Автоматически связывается только то, где есть штрихкод, артикул производителя или точная модель; остальное сопоставляется руками один раз, зато потом живёт годами. Без этого шага отчёт сравнивает несравнимое.
Четвёртая — время. Вёрстка сайтов меняется, и сборщик приходится чинить. Парсинг — это не «сделал и забыл», а небольшая постоянная работа по поддержке.
Как выглядит схема, которая действительно работает
Собрать данные один раз несложно. Сложно сделать так, чтобы это происходило само и попадало туда, где принимают решение о цене.
- Расписание на сервере. Сбор запускается сам, без ноутбука и без человека. Упал — приходит уведомление о сбое, а не тишина на две недели.
- История, а не перезапись. Каждая выгрузка ложится в базу поверх предыдущих, а не вместо них. У нас такая база своя, около 3,8 ГБ истории цен — именно она отвечает на вопрос «это разовая акция или он уже месяц стоит ниже нас».
- Выгрузка туда, где работают. Таблица Excel или Google Sheets, обмен с 1С, карточка в CRM, база сайта для автоматической переоценки — файлом или через API.
- Уведомления по правилам. Бот в Телеграм пишет не «отчёт по 300 позициям», а только срабатывания: конкурент опустился ниже вашей цены, товар пропал из наличия, появилась новая позиция в категории. Ежедневную простыню не читает никто, пять строк изменений читают все.
Отдельные источники — маркетплейсы и карты: Wildberries, Ozon, Яндекс.Карты, 2ГИС. Там кроме цены доступны выдача по запросу и отзывы, а значит видно не только «сколько стоит», но и «насколько заметен».
Сколько это стоит и когда не нужно
Стоимость зависит не от абстрактной «сложности», а от числа позиций и частоты сбора. Наши ориентиры: разовая выгрузка — 2 ₽ за позицию, минимум 3 000 ₽; ежедневный мониторинг — от 5 000 ₽ в месяц за первые 300 позиций, дальше около 15 ₽ за позицию в месяц, то есть 1 000 позиций примерно 15 000 ₽ в месяц. Нижняя граница существует по простой причине: сервер, контроль и починка при смене вёрстки стоят одинаково и для ста позиций, и для трёхсот.
Парсинг не нужен в трёх случаях. Если конкурентов пятеро, а позиций двадцать — руками быстрее. Если по итогам вы всё равно не меняете цену: данные без решения не окупаются никогда. И если задача звучит как «узнать точные складские остатки конкурента» — таких данных в открытом виде не существует, честный максимум это признаки наличия и их история.
О правовой стороне коротко и без обещаний: собирается то, что видит любой покупатель на открытой витрине. Персональные данные не трогаем, в чужие личные кабинеты не заходим, нагрузку держим на уровне обычного посетителя. Чужие фото и тексты описаний — отдельная тема: сравнивать их можно, переносить к себе не стоит.
Соберём под ваш случай и покажем на ваших данных.
Мониторинг цен →