Парсинг — это полезно и не стыдно. Особенно если данные собирает робот RPA, а отчеты показывает BI

Продавцы следят друг за другом. Интернет-магазины хотят знать, какие у конкурентов цены и условия доставки, производители смотрят, чтобы дистрибьюторы не занижали цены. Для удовлетворения их любопытства каждый день сочиняются сотни парсеров. Но есть решение получше — простое и универсальное.

Одно из множества объявлений на Хабр.Фриланс. Спарсить хотят примерно всё
Одно из множества объявлений на Хабр.Фриланс. Спарсить хотят примерно всё

Привет, я Ольга Артюшкина, руководитель направления Ecommerce в «Первом Бите». То, о чем я хочу рассказать, будет полезно ответственным за маркетинг и продажи в онлайне. Надеюсь, вы найдете здесь рабочую идею, которая поможет давать клиентам лучшие условия в интернет-магазине и на маркетплейсах.

Что такое парсинг и для чего он нужен

Представьте, что вы ищете двуспальную кровать. Что-нибудь поизящнее того, что продается в «Икее», тысяч за сорок. Вроде одной из этих:

Кровати из интернет-магазина iModern
Кровати из интернет-магазина iModern

Внимательно гуглите, отбираете два интернет-магазина с самыми классными кроватями. На картинках и ценниках — именно то, что вы искали. Потом смотрите на стоимость доставки, подъема на ваш шестой этаж без лифта и сборки. В магазине № 1 калькулятор насчитал за всё 4 200 рублей:

Парсинг — это полезно и не стыдно. Особенно если данные собирает робот RPA, а отчеты показывает BI

«Хм, это 10% стоимости кровати, дороговато», — думаете вы и идете в магазин № 2. А там получилось вообще 7 000 рублей. Вы решаете, что это сплошное надувательство и заказываете кровать в магазине №1.

За доставку 1 500 руб., за подъём 3 000 руб., за сборку 2 500 руб. Итого 7 000 руб.
За доставку 1 500 руб., за подъём 3 000 руб., за сборку 2 500 руб. Итого 7 000 руб.

Это скрины с сайтов двух реальных продавцов мебели для дома, популярных в Москве и Петербурге. Если бы магазин № 2 внимательнее изучал конкурентов, он, возможно, не допустил бы такой заметной разницы в стоимости услуг, и терял меньше клиентов. Или хотя бы обосновал, почему у них подъем на этаж стоит 500 рублей, а не 300, как у других.

Еще пример — про конструктор Lego Minecraft «Пещера зомби». Мы видим, что Ozon внимательно мониторит всех продавцов на своей площадке и дает минимальную цену в любой момент. Например, у него конструктор стоит 1 139 рублей, а у ближайшего конкурента, ИП Мустафина И.Р. — 1 599 рублей.

Парсинг — это полезно и не стыдно. Особенно если данные собирает робот RPA, а отчеты показывает BI

Понимая, что при таком раскладе вряд ли что-то удастся продать, ИП Мутафина И.Р. снижает цену почти до уровня «Озона» (всего на 20 рублей дороже) и распродает все конструкторы:

Парсинг — это полезно и не стыдно. Особенно если данные собирает робот RPA, а отчеты показывает BI

Продавец с ценой 1 999 рублей ждет, когда «Пещера зомби» у всех закончится, и тогда на его улицу придет праздник, но возможно, он просто не знает, какие цены у конкурентов. Ладно бы продавал только 20 видов конструкторов на одном «Озоне» — можно было бы несколько раз в день руками проверять каждую позицию и сравнивать с конкурентами (не исключено, что ИП Мустафина И.Р. так и делает). А если у него 20 тысяч наименований игрушек, которые продаются на двадцати площадках?

Для таких случаев нужен парсинг — автоматизированный сбор информации на сайтах конкурентов и партнеров. Кроме цен на товары можно отслеживать условия доставки и стоимость подъема на этаж, отзывы и характеристики товаров, скидки, акции и наличие на складе. В общем, любую открытую информацию, которую видит любой человек.

Кто-то считает, что парсинг — постыдное занятие, вроде воровства. Но вообще-то любой поисковик тоже занимается парсингом контента, иначе как он покажет страницы, релевантные вашему запросу. И соцсети этим занимаются, и Олег из «Тинькоф-банка».

Другое дело, как распоряжаться полученной информацией. Если магазин копирует отзывы на товары у конкурентов и размещает у себя, это стыдно. Если магазин обновляет цены и скидки, ориентируясь на конкурентов — это этично и правильно.

Парсер можно написать даже в Excel

Шесть лет назад в один из наших офисов пришел производитель детских товаров и сказал, что у него проблемы с российскими дистрибьюторами: многие из них постоянно нарушают договоренности, ставя цену ниже рекомендованной. Это вызывает разные нехорошие подозрения у честных дистрибьюторов и подталкивают их к демпингу: «Почему им можно, а нам нельзя?»

Чтобы все играли по правилам, компания наняла аналитика, который проверял цены. И конечно это не помогло. Аналитик работал 8 часов в день и мог проверить каждый из 50 тысяч товаров в лучшем случае раз в неделю. Доходило до того, что дистрибьюторы на Дальнем Востоке пользовались разницей во времени: пока Москва спала, они демпинговали, когда просыпалась — возвращали минимальную цену. Так и жили в напряженной атмосфере.

Тогда мы написали для клиента программу-парсер на Python, который мониторил сайты дистрибьюторов каждый час и показывал отчет производителю. Это сработало, дистрибьюторы быстро поняли, что они под неусыпным контролем и прекратили хулиганить.

Потом были похожие проекты, но каждый раз приходилось делать всё как впервые. Мы тратили десятки часов, чтобы понять, какой именно парсер создавать. Искать ли готовое решение или самим написать, будет это скрипт или код, на каком языке, что прикручивать, чтобы обходить ловушки и капчи.

Однажды для производителя шин мы даже использовали парсер, написанный в Excel. Это был оптимальный вариант с точки зрения стоимости и эффективности. Он настраивался в интерфейсе галочками и кнопками, был понятнее многих других парсеров и незаметнее на сайтах конкурентов. Но и такой парсер нельзя было назвать идеальным: приходилось постоянно поддерживать его работоспособность, а маркетплейсы время от времени его все равно блокировали на несколько часов.

Когда мы начали внедрять программных роботов (RPA), мы поняли: вот же он, идеал!

Почему RPA круче любого парсера

RPA (Robotic Process Automation) — это роботизация рутинных процессов. Первыми RPA начали использовать крупные федеральные компании с большим количеством клиентов: телеком, банки и страховщики. Здесь роботы обрабатывают транзакции и обращения, отправляют письма и СМС, проверяют корректность данных, занимаются внутренними процессами в бухгалтерии, HR и других отделах.

Типичный алгоритм RPA. Можно обойтись без кодинга
Типичный алгоритм RPA. Можно обойтись без кодинга

Ключевая черта таких роботов, которая делает их идеальным парсером, — они на 100% имитируют работу человека. Им создают учетную запись и прописывают алгоритм, по которому они действуют, имитируя аналитика, менеджера, эйчара или бухгалтера.

Одна же из главных задач любого парсера — стать максимально похожим на человека, чтобы в нем не распознали бота и не забанили (а банят многие, особенно маркетплейсы, ведь никто не любит делиться данными с чужими парсерами). Ради этого снижают частоту запросов до одного в 3 секунды, «как у человека», и придумывают другие уловки. Однако ни одному парсеру никогда не сыграть человека на все сто.

Разработчики парсеров и разработчики сайтов, которые их интересуют, играют в кошки-мышки. Они как вирус и антивирус: у них вечное противостояние.

Парсерам приходится пользоваться прокси от разных провайдеров, менять куски кода при любом изменении на сайте, выкручиваться после попадания в ловушки. Им, например, подсовывают ссылки с пустыми страницами, которые люди не видят, а парсеры «видят».

Все эти проблемы не знакомы роботам RPA. По сравнению с парсерами у них всё просто и предсказуемо. Они не копаются в коде страниц, собирая нужные участки — они вообще могут заходить на любой сайт через поисковик, забив, например, «Лего майнкрафт пещера зомби спб купить». Даже самый продвинутый маркетплейс не подумает, что это робот.

Еще робот RPA быстро настраивается под конкретные площадки, даже если это «Яндекс.Маркет» или Ozon с миллионами позиций. Мы, например, настроили робота под десять топовых маркетплейсов, и в каждом случае это заняло от 8 до 16 часов. В разы быстрее парсеров.

Если парсер настроен на то, чтобы искать только цены — допустим, на смартфоны Xiaomi, — а клиенту вдруг понадобилось узнать их характеристики, то парсер придется готовить к новой задаче десятки часов. Робот RPA будет готов через 1-2 часа.

Итак, вот почему робот RPA лучше любого парсера:

  • сайты конкурентов принимают его за человека и не блокируют;

  • настраивается за считанные часы под любую «парсинговую» задачу;

  • выполняет смежные задачи. Может автоматически менять цену на сайте в заданном диапазоне. Или моментально отправлять важные сообщения аналитикам, маркетологам и другим ответственным за ценообразование;
  • роботу не обязательно указывать конкретные страницы для парсинга, он найдет их через поисковик;
  • для его настройки не обязательно уметь программировать.

Зачем BI-система для парсинга

Собрать данные — половина дела. Чтобы этими данными было удобно пользоваться, их надо правильно показать.

Обычно парсеры и программные роботы делают отчеты в табличном виде. Допустим, производителя смартфонов интересует, как российские магазины в течение двух недель соблюдают договоренность продавать Xiaomi Mi 9 6/128GB не дешевле 19 000 рублей. Парсер (как и робот RPA) выдаст примерно такой отчет:

В этой таблице еще примерно 3 000 строк
В этой таблице еще примерно 3 000 строк

Данные можно импортировать в учетную систему для лучшей наглядности. Но еще лучше — в BI-систему, ведь они созданы для визуализации данных и удобной работы с ними. Двухнедельный отчет уместится на один экран:

Отчет в BI-системе Qlik Sense
Отчет в BI-системе Qlik Sense

Современные BI-системы работают через браузер или как мобильное приложение. Там всё довольно просто — можно самостоятельно построить отчет по заданным параметрам и сделать сложный дашборд без помощи IT-отдела. Главная ценность такой визуализации в том, что решение на основе данных принимается быстро, и ничего не упускается.

Сколько стоит RPA + BI для парсинга

В большинстве случаев для парсинга используют базовые возможности как RPA, так и BI. Соответственно, порог входа значительно ниже, чем при использовании этих инструментов по полной. Особенно это касается BI — прошли времена, когда она была роскошью для крупных компаний.

Подписка на популярную BI-систему Qlik Sense начинается от 30 тысяч рублей в год. Power BI от Microsoft вообще можно пользоваться бесплатно с некоторыми ограничениями.

У вендоров RPA тоже есть бесплатные версии, но реалистичнее ориентироваться минимум на 200 тысяч рублей в год за робота российской разработки.

Итого: 200–300 тысяч рублей в год — порог входа. Если понадобится помощь при настройке — плюс 3–4 тысячи рублей за час.

Признаки, что нужен парсинг с RPA и BI

  1. Уже занимаетесь парсингом, но не устраивает качество парсеров и отчеты.
  2. Парсер должен работать в связке с 1C, CRM и другими системами.
  3. Интересующие сайты часто меняются и защищаются от парсеров (в первую очередь маркетплейсы).
  4. Надо мониторить минимум 10 сайтов.
  5. Нужен оперативный контроль ситуации на рынке.
  6. Много SKU. Если продаете 10 моделей фильтров для воды — проще проверить всё вручную.
  7. Отчетами парсинга пользуются минимум два человека.

Автор — Ольга Артюшкина, руководитель направления Ecommerce в компании «Первый Бит». При участии Сергея Белостоцкого, руководителя BI, RPA в компании «Первый Бит».

У вас интернет-магазин. Вы парсите конкурентов?
Да, обычное дело.
Да, но как-то стыдно.
Нет и не буду.
Нет, но хочу.
1818
18 комментариев

Первый раз вижу такое красочное описание zennoposter

4
Ответить

В голос😹😹😹
Так он ещё в сотни потоков может работать 
Через прокси

1
Ответить

Интересная статья. Интересная тема. Вопрос:"это просто описание того, что существует? Или Ваш продукт? Или у Вас внедрили такой продукт?" Считайте, что заинтересовали. Хочу такое. Если есть о чем говорить, пишите на e-mail: rubzov@gmail.com Алексей

1
Ответить

Спасибо, свяжусь с вами

Ответить

Статья правда очень интересная, а можете пояснить как происходит парсинг большого количества данных, ведь если робот реально работает в браузере на виртуальной машине, то это очень медленно видны повторяющиеся запросы с одного ИП 

Ответить

Ну прям как человек - медленно, с одного айпи :) что и требовалось, чтобы не банили.
Тут второй вопрос:  большие объемы данных - это сколько? Если один робот не справляется - можно нескольких запустить

1
Ответить

Так вот кто на мою рекламу кликает....

Ответить