Цены конкурентов кто-то смотрит руками раз в неделю. Объявления с площадки выписывают в таблицу. Справочник организаций по городу собирают месяц. Всё это машина делает за минуты — и обычно за это и платят.

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

Что такое парсер простыми словами

Парсер сайтов — программа, которая открывает страницы вместо человека и достаёт с них нужные данные. Заходит в каталог, забирает названия, цены и наличие, складывает в таблицу или в вашу систему. Отличие от человека одно, зато решающее: он не устаёт и делает это тысячу раз подряд одинаково.

Программный робот, он же RPA — сосед по смыслу, но работа другая. Парсер читает, робот действует: открывает программу, заполняет поля, нажимает кнопки, переносит данные из одного окна в другое. Его берут, когда у системы нет ни API, ни выгрузки, а работать с ней надо.

Разница практическая. Парсер собирает данные снаружи, робот работает внутри — часто с вашей же программой, к которой иначе не подступиться.

Что нужноЧем делаютСтоимость
Разово собрать списокготовый сервис или расширение0 – 3 000 ₽
Регулярно снимать цены и объявлениясвой парсерот 50 000 ₽
Работать в чужой программе без доступапрограммный робот RPAот 50 000 ₽
Данные из системы, у которой есть APIинтеграция, а не парсерот 80 000 ₽

Что собирают чаще всего

Цены конкурентов. Самая частая задача — парсер цен заказывают чаще всего остального вместе взятого. Смысл не в подглядывании, а в скорости: заметить изменение цены в день, когда оно произошло, а не через неделю.

Объявления и площадки. Авито, маркетплейсы, отраслевые доски. Парсер объявлений полезен в обе стороны: смотреть чужие предложения и следить за своими карточками — не пропала ли, не сменилась ли цена, что пишут в отзывах.

Справочники и карты. Организации по городу и рубрике: адреса, телефоны, часы работы. Чаще всего спрашивают про Яндекс Карты и 2ГИС. Про эту задачу отдельный разговор ниже, потому что она чаще прочих упирается в закон — телефон организации нередко оказывается телефоном человека.

Товары и остатки поставщиков. Когда поставщик не даёт выгрузку, а прайс лежит на сайте.

Отзывы и упоминания. Собрать в одно место, чтобы отвечать вовремя.

Вакансии и зарплаты. Обычно для собственного понимания рынка.

Готовый сервис или свой парсер

Три уровня, и начинать разумно с первого.

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

Конструкторы парсеров. Настраиваете мышкой, что откуда брать. Гибче готового сервиса, но упираются в защиту площадок и в нестандартную логику.

Свой парсер. Заказать разработку имеет смысл, когда собирать надо регулярно, из нескольких мест сразу, с проверками и укладкой прямо в вашу систему. Дороже, зато работает без вашего участия и не требует ежемесячной платы стороннему сервису.

Признак, по которому выбирают: нужна разовая таблица — берите готовое; нужен процесс, который идёт сам каждый день, — считайте разработку.

Что законно, а что нет

Раздел, который обычно пропускают, а зря: цена ошибки здесь больше стоимости работы.

Собирать общедоступные сведения о товарах и ценах само по себе не запрещено. Цена на витрине — открытая информация, и её просмотр машиной не превращается в правонарушение.

Но три границы существуют.

Первая — персональные данные. Телефоны, имена, электронные адреса остаются персональными данными, даже если лежат в открытом доступе. Собрали базу контактов — стали оператором персональных данных со всеми обязанностями: уведомление в Роскомнадзор, политика обработки, сроки хранения, удаление по требованию. Штрафы по части 10 статьи 13.11 КоАП для юридических лиц и ИП — от 100 000 до 300 000 ₽.

Отдельно про рассылки: разослать рекламу по собранным телефонам нельзя. Согласие получателя на такую рассылку обязательно, и его отсутствие наказывается отдельно.

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

Третья — правила площадки и нагрузка. Пользовательское соглашение почти любого крупного сайта запрещает автоматический сбор. Практическое следствие обычно не суд, а блокировка. Но если сбор ведётся так, что мешает работе сайта, разговор становится серьёзнее.

Как мы к этому относимся. Беремся за сбор открытых сведений о товарах, ценах, наличии и объявлениях. За сбор баз телефонов и адресов для рассылок — нет, и на разборе говорим об этом сразу. Причина не в осторожности, а в арифметике: такая база создаёт обязанности и риски дороже, чем сама стоит.

Почему парсеры ломаются

Это не признак плохой работы, а свойство задачи. Понимать это стоит до заказа.

Сайт меняет вёрстку. Данные лежали в одном месте, стали в другом. Парсер продолжает работать и приносить пустоту — если его не научили замечать, что улов подозрительно мал.

Появляется защита. Капча, проверка на робота, ограничение частоты обращений. Площадки развивают её постоянно, потому что собирают их не только вы.

Блокировка по адресу. Слишком частые обращения — и сайт перестаёт отвечать конкретно вам.

Меняется структура данных. Добавили поле, переименовали категорию, поменяли формат цены.

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

RPA: когда нужен робот, а не парсер

Программный робот повторяет действия человека в интерфейсе программы. Роботизацию бизнес-процессов берут в единственном случае: когда другого способа нет.

Так бывает со старыми учётными системами, с закрытыми кабинетами, с программами, у которых нет ни выгрузки, ни API. Робот открывает окно, вводит данные, нажимает «сохранить» — и делает это восемьсот раз, пока человек занят чем-то полезным.

Честно о слабом месте. Робот привязан к тому, как выглядит экран. Сдвинулась кнопка, вышло обновление, появилось лишнее окно — робот останавливается или, что хуже, делает не то. Поэтому его ставят на устоявшиеся процессы и обязательно с проверкой результата.

Когда робот не нужен. Если у системы есть API или хотя бы выгрузка — делайте связку по API. Она дороже в разработке, но живёт годами, а робот требует внимания после каждого обновления.

Сколько стоит

Сбор данных парсерами, скрипты, программные роботы RPA — от 50 000 ₽. Цена из прайса на этом сайте, там же остальное — смотреть весь список.

Что двигает цену вверх:

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

Сроки. Простой сбор с одного источника — от нескольких дней. Регулярный с несколькими источниками и укладкой в систему — две-четыре недели. Робот RPA — от недели, и срок сильно зависит от того, насколько предсказуемо ведёт себя программа, в которой он работает.

Что не входит: прокси и сторонние сервисы, если они понадобятся, и сопровождение после запуска.

Когда это не нужно

У источника есть API. Тогда нужна интеграция по API, а не парсер: она надёжнее и не ломается от смены вёрстки.

Данные нужны один раз. Разовую таблицу дешевле собрать готовым сервисом или руками, чем заказывать разработку.

Объём маленький. Двадцать позиций у трёх конкурентов человек проверит за десять минут.

Непонятно, что делать с данными. Самая частая скрытая причина неудачи: собрали цены конкурентов, а решение по своим ценам принимать всё равно некому и не по каким правилам. Сбор данных полезен там, где за ним стоит действие.

Сколько у нас

Сбор данных парсерами, скрипты, программные роботы RPA — от 50 000 ₽.

Разбор задачи бесплатный, до пяти рабочих дней. На нём смотрим три вещи: есть ли у источника нормальный способ отдать данные без парсинга, что стоит на площадке из защиты и не упирается ли задача в закон.

Если окажется, что вам хватит готового сервиса за тысячу рублей в месяц, — скажем прямо. И если задача сводится к сбору контактов для обзвона, откажемся и объясним почему: обязанности и риски там дороже результата.

С чего начать разговор. Пришлите адрес страницы, с которой надо собирать. Посмотрим, что там стоит из защиты, — от этого цена зависит больше, чем от объёма.

Позвонить: +7 911 375-22-55. Написать: hello@syntrolab.ru. Telegram: @SyntroLab_Bot — сообщение примет бот, ответит человек.

Что спросить у подрядчика

Четыре вопроса и один, который стоит задать себе.

Что произойдёт, когда площадка поменяет вёрстку? Не «если», а «когда». Ответ должен включать, кто это заметит и за чей счёт чинится.

Как я узнаю, что вместо тысячи строк пришло три? Молчащий парсер с устаревшими данными опаснее отсутствующего.

Что стоит на площадке из защиты и как вы её обходите? От ответа зависит и цена, и то, проживёт ли решение хотя бы полгода.

Что входит в сопровождение? Парсер — не разовая работа, и подрядчик, который этого не говорит, либо не понимает, либо умалчивает.

А себе — вопрос про закон. Что именно собираем и не окажемся ли мы оператором персональных данных. На этот вопрос отвечать вам, и штрафы тоже ваши.