Парсинг сайтов: законно ли и как заказать парсер

Разработка 9 мин чтения

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

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

Что говорит закон о парсинге

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

НормаЧто защищаетКогда возникает риск
ГК РФ, ст. 1334 (право изготовителя базы данных)базы данных, на создание которых потрачены существенные ресурсыизвлечение и использование всей базы или её существенной части
ГК РФ, ст. 1259 и ст. 1270 (авторское право)тексты, фотографии, видео, описанияпубликация скопированных материалов у себя
Закон № 152-ФЗ «О персональных данных»сведения о людях: ФИО, телефоны, email, профилисбор и обработка без согласия или иного основания
УК РФ, ст. 272компьютерная информациянеправомерный доступ: обход авторизации, взлом
Закон «О защите конкуренции»честная конкуренцияиспользование чужого контента для введения покупателей в заблуждение
Пользовательское соглашение сайтадоговорные условияесли вы его приняли и оно запрещает автоматический сбор

База данных как объект права

Самый частый риск при парсинге. Каталог интернет-магазина, справочник организаций, база объявлений могут охраняться как база данных. Статья 1334 ГК РФ даёт её изготовителю право запрещать извлечение материалов из базы и их последующее использование. При этом в законе есть ориентир: база, содержащая не менее 10 тысяч самостоятельных элементов, при отсутствии доказательств иного считается созданной с существенными затратами.

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

Тексты и фотографии

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

Отдельный случай: данные поставщика. Если поставщик сам даёт вам доступ к каталогу, выгрузку или фид для наполнения сайта, вы используете их с его разрешения. Лучше, чтобы это разрешение было зафиксировано в договоре или переписке.

Персональные данные

Контакты людей, даже опубликованные открыто, остаются персональными данными. С 2021 года для данных, которые человек сам разрешил распространять, действуют отдельные правила: такое разрешение оформляется особым согласием, и человек может ограничить, кто и как вправе эти данные использовать. Поэтому собирать базы телефонов и email из соцсетей и досок объявлений для рассылок рискованно и юридически, и репутационно. Плюс к этому реклама без согласия получателя нарушает закон о рекламе.

Что можно парсить спокойно

Большинство бизнес-задач парсинга укладывается в безопасную зону:

  • Мониторинг цен конкурентов. Собираете цены и наличие по своим товарам, чтобы корректировать свою цену. Данные не публикуете, используете внутри.
  • Отслеживание остатков и цен у поставщиков, если у них нет API или выгрузки. Здесь вы работаете со своим контрагентом, и лучше просто договориться о фиде.
  • Сбор открытых государственных данных: реестры, закупки, статистика. Многие из них отдаются через официальные API или выгрузки.
  • Мониторинг собственного присутствия: позиции в поиске, упоминания бренда, отзывы о вашей компании.
  • Анализ рынка: число предложений, разброс цен, ассортимент в категории, без копирования содержимого карточек.
  • Свои собственные сайты и площадки: перенос каталога со старого сайта на новый, сверка цен на сайте с учётной системой.

Где начинается риск

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

Как парсить аккуратно

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

  • Ограничивайте частоту запросов. Один запрос в секунду или реже для небольших сайтов. Парсер не должен заметно нагружать чужой сервер.
  • Ходите в нерабочие часы, если данные нужны раз в сутки.
  • Учитывайте robots.txt. Он не закон, но показывает волю владельца сайта, и в споре это аргумент.
  • Собирайте только нужные поля. Если нужна цена и наличие, не сохраняйте описание и фото.
  • Кешируйте. Не запрашивайте одну и ту же страницу десять раз за день, если данные обновляются раз в сутки.
  • Ищите официальные каналы. API, YML-фиды, выгрузки для партнёров. Это стабильнее парсинга и снимает вопросы о законности.

Как заказать парсер: что указать в задании

Чем точнее задание, тем быстрее и дешевле разработка. Хорошее ТЗ отвечает на вопросы:

  1. Источники. Какие сайты, какие разделы, примерное число страниц или товаров.
  2. Поля. Что именно собирать: название, артикул, цена, старая цена, наличие, характеристики, ссылка. Приложите пример таблицы, какую хотите получить.
  3. Частота. Разово, раз в сутки, раз в час. От этого зависит архитектура и стоимость.
  4. Сопоставление. Как связывать товары конкурента со своими: по артикулу, по штрихкоду, по названию. Это часто самая сложная часть.
  5. Формат результата. Excel или CSV на почту, Google Таблица, выгрузка в 1С, загрузка в CMS, API для вашей системы.
  6. Уведомления. Нужно ли сообщать в Telegram, если цена конкурента упала ниже вашей.
  7. Поддержка. Сайты меняют вёрстку, и парсер ломается. Кто и как быстро будет его чинить.

Технологии

Тип сайтаЧем парсить
Обычный HTML, данные в коде страницыPython, httpx или requests, lxml или BeautifulSoup
Большие объёмы, много сайтовScrapy с очередями и повторными попытками
Данные подгружаются JavaScriptPlaywright (управляемый браузер) или прямые запросы к внутреннему API сайта
Сайт отдаёт JSON через своё APIпрямые запросы к API, это быстрее и стабильнее всего

Запуск обычно на сервере по расписанию, результаты складываются в базу данных, а дальше уходят туда, где они нужны. Если данные должны попадать в учётную систему, парсер связывают с ней через интеграцию с 1С или API CRM.

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

ВариантКогда подходитОграничения
Готовый облачный сервис мониторинга ценстандартная задача, популярные магазиныабонплата, не все сайты поддерживаются, сложно встроить в свои процессы
Визуальные конструкторы парсеровразовые задачи, простые сайтыломаются на сложных сайтах, ручной запуск
Свой парсер на Pythonнестандартные источники, интеграция с учётом, регулярный запускнужна разработка и поддержка

Типичная схема мониторинга цен

Чтобы было понятнее, как это выглядит в работе, разберём обычную задачу. Магазин продаёт 1 500 товаров и хочет каждое утро знать, где пять основных конкурентов продают те же позиции дешевле.

  1. Сопоставление. Один раз собирается таблица соответствия: ваш артикул и ссылки на этот же товар у каждого конкурента. Часть связок находится автоматически по артикулу производителя, остальное проверяется вручную. На это уходит больше всего времени в начале проекта.
  2. Ночной обход. Каждую ночь парсер проходит по ссылкам из таблицы, с паузами между запросами, и сохраняет цену и наличие в базу. Историю хранит, чтобы видеть динамику.
  3. Отчёт. Утром менеджер получает таблицу: товары, где вы дороже рынка больше чем на 5 %, товары, которых нет ни у кого, кроме вас, и резкие изменения цен за сутки.
  4. Контроль поломок. Если у конкурента поменялась вёрстка и парсер перестал находить цену, приходит уведомление в Telegram, а не пустой отчёт, на который никто не обратил внимания.

Описания и фото конкурентов в такой схеме не собираются вообще: для решения задачи они не нужны.

Частые вопросы

Законно ли парсить цены конкурентов?

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

Нужно ли разрешение владельца сайта на парсинг?

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

Можно ли парсить маркетплейсы?

Правила крупных маркетплейсов обычно запрещают автоматический сбор данных без разрешения, и они активно защищаются от ботов. Для продавцов у маркетплейсов есть официальные API, через которые можно получать данные по своим товарам и заказам. Для анализа рынка используют специализированные сервисы аналитики.

Сколько времени занимает разработка парсера?

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

Мы пишем парсеры на Python под конкретную задачу: от мониторинга цен до сбора данных поставщика для наполнения интернет-магазина. Подробнее о формате работы и о том, что нужно для старта, на странице разработки парсеров.

Заявка

Обсудим вашу задачу

Опишите, что нужно, и пришлите адрес сайта, если он есть. Посмотрим, предложим решение и назовём цену и срок. Консультация бесплатная.

  • Ответим в течение рабочего дня
  • Работаем по договору, оплата по счёту
  • Сначала план и смета, потом работа

Или напишите: hello@sitekod.ru

Заявка

Расскажите о задаче

Ответим в течение рабочего дня: уточним детали, назовём срок и цену. Ни к чему не обязывает.