Парсер сайтов: как он работает, что стоит и где граница закона
Парсер сайтов — программа, которая открывает страницы вместо человека, достаёт нужные поля (цены, остатки, характеристики) и складывает результат в таблицу, базу или сразу в вашу систему. Ниже — как он устроен, чем облачный сервис отличается от своего кода, что можно собирать по закону и когда парсер заказывать не стоит.
Как работает парсер сайтов
Любой парсер делает три вещи: обходит страницы, извлекает поля и доставляет результат туда, где с ним работают люди. Остальное — обвязка вокруг этих шагов.
Простая часть — найти блок с ценой и забрать текст. Сложности начинаются там, где сайт живой. Что ломает парсеры чаще всего:
- Смена вёрстки. Поменялись классы — селекторы не находят цену. Парсер при этом не падает, а тихо отдаёт пустоту, и это худший сценарий.
- Контент от JavaScript. В исходном HTML цены нет, она подгружается отдельным запросом. Лечится браузерным движком или поиском того самого запроса — второе в десятки раз быстрее.
- Лимиты выдачи. Каталог показывает только первую тысячу позиций, остальное добирается через фильтры по категориям.
- Защита от ботов. Ограничение частоты, проверка заголовков, капча. Часть решается вежливым поведением, часть — нет, и это обсуждается до старта.
- Мусор в данных. Цена «по запросу», дубли артикулов, единицы измерения то в штуках, то в упаковках. Без правил проверки выгрузка бесполезна.
Из чего состоит парсер, который живёт дольше месяца
Скрипт «на один раз» пишется за час. Разница с рабочим парсером — в слоях, отвечающих за повторяемость: чтобы завтра он запустился сам, а если сломался — вы об этом узнали.
Две ключевые детали. Правила разбора хранятся отдельно от кода — при смене вёрстки правится строка конфига, а не программа. И сырые страницы сохраняются: если через неделю понадобится ещё и артикул производителя, его достанут из скачанного, а не пойдут обходить сайт заново.
Слой, который редко просят, а потом благодарят: проверка на аномалии. Собралось 40 товаров вместо вчерашних 3000 или средняя цена упала вдесятеро — парсер не перезаписывает данные, а пишет вам.
«Парсер, официальный сайт»: коробка, облако или свой код
Запрос «парсер официальный сайт» обычно значит одно: человек нашёл название продукта и хочет скачать его у разработчика, а не с файлопомойки. Инстинкт правильный. Но сначала стоит понять, к какому из четырёх классов относится продукт.
| Вариант | Что получаете | Где упирается |
|---|---|---|
| Десктопная программа | Визуальный настройщик, разовая покупка лицензии | Логика в рамках шаблонов вендора, компьютер должен быть включён |
| Облачный сервис | Парсинг без своего сервера, готовые шаблоны источников | Ваш источник может не поддерживаться, данные идут через чужую систему |
| Расширение браузера | Быстро выдернуть таблицу с одной страницы | Ручной запуск, сотни строк, не про расписание |
| Свой парсер | Любая логика и выгрузка, код остаётся у вас | Нужно написать и поддерживать |
Инструменты, на которых пишут свои парсеры, известны и бесплатны: Scrapy — когда нужно обойти десятки тысяч страниц без JavaScript, Playwright — когда без настоящего браузера контент не получить, BeautifulSoup и lxml — для разбора уже скачанного HTML. Демоверсия коробки, красиво собирающая пример с сайта вендора, ничего не говорит о том, справится ли она с вашим каталогом на 40 000 позиций — проверяйте на своём источнике до оплаты.
Облачный парсер: официальный сайт сервиса и выгрузка товаров
Самая массовая история — облачные парсеры под e-commerce. У поставщика есть сайт с товарами, но нет нормального прайса. Сервис обходит его каталог и отдаёт файл, готовый к импорту в магазин, на маркетплейс или в альбом группы. Так работает, например, российский сервис «Облачный парсер» (cloudparser.ru): шаблоны под известных поставщиков, наценка и округление цен на выгрузке, готовые форматы импорта.
Честное правило: поставщик есть в шаблонах сервиса, а выгрузка товаров нужна раз в неделю — берите сервис, это дешевле любой разработки. Свой парсер выигрывает, когда источников больше пяти, нужна сверка между ними (у кого дешевле, где реально есть остаток) или результат должен попадать не в файл, а сразу в систему учёта.
Пока читаете — можно сразу проверить свою задачу. Опишите процесс, и я скажу, решается ли он и во сколько обойдётся.
ИИ-парсер сайтов: где нейросеть помогает, а где мешает
«ИИ парсер сайтов» сейчас означает две разные вещи. Первая — модель вместо селекторов: скормили страницу, попросили вернуть JSON с названием и ценой. Вторая — модель как помощник, который один раз смотрит на страницу и сам пишет правила разбора, а дальше работает обычный быстрый код.
- Где помогает. Сотня сайтов с непредсказуемой вёрсткой; характеристики из сплошного текста описания; приведение разнобоя («0,5 л», «500 мл») к одному виду; сопоставление товаров разных поставщиков.
- Где лишний. Один сайт со стабильной структурой: селектор отработает за миллисекунды и бесплатно, а модель добавит задержку, стоимость и шанс, что в одной строке из ста она уверенно придумает цену.
- Скрытая цена. Прогон 50 000 страниц через модель — заметные деньги за каждый проход, тогда как обычный парсер стоит только аренды сервера.
Рабочая схема — гибрид: правила разбирают основной поток страниц, модель подключается там, где правила вернули пустоту. Устойчивость ИИ при скорости обычного парсера.
Законно ли парсить сайты: robots.txt, нагрузка, персональные данные
Отдельного «закона о парсинге» в России нет, и автоматический сбор открытых данных сам по себе не запрещён. Но он попадает под общие нормы: право изготовителя базы данных, законодательство о персональных данных и статьи о неправомерном доступе.
Чужая база данных
Статья 1334 ГК РФ даёт изготовителю базы исключительное право на извлечение материалов — то есть на перенос всего содержания или существенной части на другой носитель. При отсутствии доказательств иного базой, создание которой потребовало существенных затрат, признаётся база не менее чем из десяти тысяч самостоятельных информационных элементов. Вывод простой: выгрузить сотню карточек для сравнения цен и выкачать каталог целиком, чтобы поднять на нём свой сервис, — юридически разные истории.
Показательный спор — «ВКонтакте» против компании «Дабл» (дело № А40-18827/2017) об автоматической выгрузке открытых профилей для скоринга. Тянулся с 2017 года и завершился в 2023-м мировым соглашением: ответчик согласился не использовать данные соцсети без разрешения. Аргумент «данные были открыты всем» сам по себе не сработал.
Персональные данные
ФИО, телефон, почта, профиль физлица — персональные данные, и открытая публикация не равна согласию на их сбор. С 30 мая 2025 года (ФЗ № 420-ФЗ) ответственность резко выросла: штрафы увеличены кратно, за повторную утечку введены оборотные, а статья 272.1 УК РФ предусматривает личную уголовную ответственность за незаконный оборот персональных данных. Это не повод бояться парсинга — повод не собирать контакты физлиц «на всякий случай».
Вежливый парсинг
Обход авторизации, подбор паролей, эксплуатация уязвимостей — это уже неправомерный доступ, а не парсинг. Набор правил, который я применяю по умолчанию:
- Читать robots.txt. Не закон, а техническая просьба владельца, но игнорирование закрытых разделов — прямой аргумент против вас в споре.
- Держать 1–2 запроса в секунду. Такая нагрузка на порядки меньше обычного дневного трафика магазина и просто не заметна.
- Представляться. В User-Agent — название и контакт. Тогда админ напишет письмо, а не забанит подсеть.
- Уважать ответы сервера. Пришёл код 429 или Retry-After — притормаживаем, а не долбим повторами.
- Ходить ночью и кэшировать. Повторный запрос страницы — только если она могла измениться.
- Брать только нужное. Нужны цены — забираем цены, а не выкачиваем каталог целиком, включая карточки продавцов-физлиц.
Самое дешёвое действие: перед разработкой проверьте условия использования сайта и наличие официального API или прайс-фида. Иногда хватает письма поставщику — доступ к выгрузке дают бесплатно, потому что им выгодно, чтобы ваш магазин показывал их актуальные цены.
Сколько стоит парсер и когда его заказывать не нужно
Цену определяет не количество страниц, а три вещи: насколько сложно достать данные, насколько строго их проверять и должен ли парсер работать сам по расписанию.
| Задача | Что входит | Срок и цена |
|---|---|---|
| Разовая выгрузка | Один сайт, стабильная вёрстка, результат в Excel или Google Sheets | 1–3 дня, от 25 000 ₽ |
| Парсер на расписании | JS-рендеринг, пагинация, проверки, график, уведомления о сбоях | 1–2 недели, 60 000–150 000 ₽ |
| Мониторинг рынка | 10–50 источников, история цен, сверка позиций, дашборд | от 200 000 ₽ |
| Поддержка | Починка после смены вёрстки, новые источники | от 10 000 ₽ в месяц |
Теперь честная часть, из-за которой я иногда отговариваю от проекта. Парсер не нужен, если:
- У источника есть API или готовый фид. Маркетплейсы, банки, многие поставщики отдают YML или CSV по ссылке. Интеграция дешевле парсера и не ломается от смены дизайна.
- Данные выгружаются кнопкой. В CRM, 1С и большинстве SaaS есть экспорт. Парсить свою же систему через браузер — чинить водопровод через окно.
- Задача разовая и небольшая. Собрать 200 строк один раз — час работы человека, разработка тут не окупится.
- Под источник уже есть облачный сервис. Подписка на пару тысяч рублей закроет вопрос быстрее.
- Сайт явно против сбора. Логин, жёсткая капча, прямой запрет в условиях использования — это другой разговор и другие риски, такие проекты я не беру.
Если же данные нужны регулярно, источников несколько и результат должен приезжать в вашу систему — парсер окупается за первый-второй месяц. Дальше собранное сводят в отчёты: как это устроено, разобрано в статье про автоматизацию учёта и отчётности.
Частые вопросы
Законно ли парсить сайты?
Сбор открытых данных сам по себе не запрещён — отдельного закона о парсинге в России нет. Нарушением становятся извлечение существенной части чужой базы данных (ст. 1334 ГК РФ), сбор персональных данных без правового основания и обход защиты или нагрузка, мешающая работе сайта.
Сколько стоит парсер сайтов?
Разовая выгрузка с одного сайта в таблицу — от 25 000 ₽ и 1–3 дня. Парсер по расписанию с JavaScript-страницами и уведомлениями о сбоях — 60 000–150 000 ₽. Мониторинг десятков источников с историей цен и дашбордом — от 200 000 ₽.
Чем облачный парсер отличается от своего?
Облачный работает сразу и не требует сервера, но ограничен готовыми шаблонами источников, а данные проходят через стороннюю систему. Свой пишется под конкретный источник и выгружает прямо в вашу CRM или базу. Есть шаблон под вашего поставщика — берите сервис.
Нужен ли ИИ в парсере?
Для одного сайта со стабильной вёрсткой — нет: обычные правила быстрее, дешевле и предсказуемее. Модель оправдана, когда источников десятки или нужно вытащить характеристики из сплошного текста. Оптимально — гибрид: правила на основном потоке, модель как запасной вариант.
Что будет, если сайт поменяет вёрстку?
Парсер перестанет находить поля, поэтому в нём должна быть проверка результата: при падении числа записей он не перезаписывает данные, а присылает уведомление. Починка занимает от получаса до нескольких часов, потому что правила разбора вынесены в конфиг.
Как часто можно запускать парсер?
Цены конкурентов — обычно раз в сутки ночью, остатки — несколько раз в день, справочники — раз в неделю. Важнее частоты скорость обхода: 1–2 запроса в секунду не создают заметной нагрузки при любом расписании.
Читайте дальше
Нужны данные с сайтов?
Опишите источник и что нужно забирать — скажу, хватит ли готового сервиса или API, а если нет, назову срок и цену своего парсера.
Обсудить задачу