Как спарсить цены конкурентов на маркетплейсах — и почему обычный парсер ловит бан
Кажется, что собрать чужие цены просто: написал скрипт, прошёлся по страницам, выгрузил в Excel. На практике первый же запрос к Wildberries или Ozon возвращает пустую страницу. Разбираем, почему так и как собирать данные, которые площадка «не отдаёт».
Почему простой запрос не работает
Крупные маркетплейсы стоят за защитой от ботов. На обычный HTTP-запрос (или headless-браузер «в лоб») они отвечают 403 Access Denied либо пустой разметкой без цен. Причина в том, что настоящая цена подгружается скриптами уже в браузере, а сервер до этого проверяет, человек к нему пришёл или программа.
Вторая ловушка — география. Часть площадок отдаёт данные только с адреса нужной страны. С зарубежного сервера вы получите либо заглушку, либо другие цены и остатки, чем видит покупатель в России.
Что работает: настоящий браузер с нужного адреса
Рабочий способ — открывать страницы настоящим браузером (не «headless-заглушкой»), с российского адреса, и снимать уже отрисованные данные. Тогда площадка отдаёт всё: товар, цену, остаток, характеристики, продавца. У нас на такой сбор уходит около 6,4 секунды на карточку, и так собираются 19 площадок.
- браузер имитирует поведение человека (паузы, прокрутка) — это снимает часть блокировок;
- адрес — той страны, чью витрину снимаем;
- данные складываются в вашем формате: листы, колонки, кодировка — как удобно.
Сохраняйте историю, а не снимок
Разовый сбор отвечает на вопрос «какая цена сейчас». Но для решений нужна история: как цена менялась, когда конкурент опустил её, сколько продавцов встало на позицию. Снимок по расписанию складывается в свою базу — и из неё уже видно динамику, а не одну точку.
Коротко
Собрать цены с маркетплейса обычным парсером не выйдет — нужен настоящий браузер с адреса нужной страны, и данные лучше копить в историю. Дальше из этой истории считаются разброс цен между площадками и оповещения, когда цена ушла за заданную границу.
Соберём цены и остатки конкурентов на ваших площадках — и будем обновлять по расписанию.
Мониторинг цен →