Парсинг сайтов: законно ли и как заказать парсер
Парсинг сайтов в России сам по себе законен: прямого запрета на автоматический сбор общедоступной информации нет. Проблемы начинаются в четырёх случаях: вы извлекаете существенную часть чужой базы данных, копируете и публикуете чужие тексты и фото, собираете персональные данные без законного основания, или обходите техническую защиту и создаёте сайту-источнику чрезмерную нагрузку. Если парсер собирает цены и наличие у конкурентов для внутреннего анализа, ходит аккуратно и не трогает личные данные, риски минимальны. Ниже разбираем, где проходит граница, и как заказать парсер, чтобы он работал стабильно и не создавал проблем.
Статья описывает общую картину и не заменяет консультацию юриста. Если вы планируете массово собирать данные с конкретного ресурса и использовать их публично, обсудите схему с юристом заранее.
Что говорит закон о парсинге
Отдельного закона о парсинге нет. Но есть несколько норм, которые могут сработать в зависимости от того, что и зачем вы собираете.
| Норма | Что защищает | Когда возникает риск |
|---|---|---|
| ГК РФ, ст. 1334 (право изготовителя базы данных) | базы данных, на создание которых потрачены существенные ресурсы | извлечение и использование всей базы или её существенной части |
| ГК РФ, ст. 1259 и ст. 1270 (авторское право) | тексты, фотографии, видео, описания | публикация скопированных материалов у себя |
| Закон № 152-ФЗ «О персональных данных» | сведения о людях: ФИО, телефоны, email, профили | сбор и обработка без согласия или иного основания |
| УК РФ, ст. 272 | компьютерная информация | неправомерный доступ: обход авторизации, взлом |
| Закон «О защите конкуренции» | честная конкуренция | использование чужого контента для введения покупателей в заблуждение |
| Пользовательское соглашение сайта | договорные условия | если вы его приняли и оно запрещает автоматический сбор |
База данных как объект права
Самый частый риск при парсинге. Каталог интернет-магазина, справочник организаций, база объявлений могут охраняться как база данных. Статья 1334 ГК РФ даёт её изготовителю право запрещать извлечение материалов из базы и их последующее использование. При этом в законе есть ориентир: база, содержащая не менее 10 тысяч самостоятельных элементов, при отсутствии доказательств иного считается созданной с существенными затратами.
На практике это значит: собрать цены на 200 позиций конкурента для сравнения со своими это одно, выкачать каталог из 50 тысяч товаров и выложить его у себя это совсем другое. В судебной практике уже были споры о сборе открытых профилей пользователей с крупных платформ, где суды рассматривали массив профилей как охраняемую базу данных.
Тексты и фотографии
Факты не охраняются авторским правом: цена, артикул, вес, размеры, наличие на складе. А вот описание товара, написанное копирайтером, и фото, снятое фотографом, охраняются. Скопировать описания и фото конкурента к себе на сайт значит нарушить авторские права, даже если технически вы их просто «спарсили».
Отдельный случай: данные поставщика. Если поставщик сам даёт вам доступ к каталогу, выгрузку или фид для наполнения сайта, вы используете их с его разрешения. Лучше, чтобы это разрешение было зафиксировано в договоре или переписке.
Персональные данные
Контакты людей, даже опубликованные открыто, остаются персональными данными. С 2021 года для данных, которые человек сам разрешил распространять, действуют отдельные правила: такое разрешение оформляется особым согласием, и человек может ограничить, кто и как вправе эти данные использовать. Поэтому собирать базы телефонов и email из соцсетей и досок объявлений для рассылок рискованно и юридически, и репутационно. Плюс к этому реклама без согласия получателя нарушает закон о рекламе.
Что можно парсить спокойно
Большинство бизнес-задач парсинга укладывается в безопасную зону:
- Мониторинг цен конкурентов. Собираете цены и наличие по своим товарам, чтобы корректировать свою цену. Данные не публикуете, используете внутри.
- Отслеживание остатков и цен у поставщиков, если у них нет API или выгрузки. Здесь вы работаете со своим контрагентом, и лучше просто договориться о фиде.
- Сбор открытых государственных данных: реестры, закупки, статистика. Многие из них отдаются через официальные API или выгрузки.
- Мониторинг собственного присутствия: позиции в поиске, упоминания бренда, отзывы о вашей компании.
- Анализ рынка: число предложений, разброс цен, ассортимент в категории, без копирования содержимого карточек.
- Свои собственные сайты и площадки: перенос каталога со старого сайта на новый, сверка цен на сайте с учётной системой.
Где начинается риск
| Действие | Почему рискованно |
|---|---|
| Скопировать каталог конкурента вместе с описаниями и фото | авторское право и право изготовителя базы |
| Собрать телефоны и email для рассылки | персональные данные, закон о рекламе |
| Парсить разделы, закрытые логином | условия пользования, в худшем случае неправомерный доступ |
| Обходить технические ограничения сайта | может быть расценено как неправомерный доступ |
| Посылать тысячи запросов в секунду | нагрузка на чужой сервер, по сути атака |
| Публиковать собранные данные как свои | весь набор рисков сразу |
Как парсить аккуратно
Технически корректный парсер снижает и юридические риски, и вероятность, что его заблокируют.
- Ограничивайте частоту запросов. Один запрос в секунду или реже для небольших сайтов. Парсер не должен заметно нагружать чужой сервер.
- Ходите в нерабочие часы, если данные нужны раз в сутки.
- Учитывайте robots.txt. Он не закон, но показывает волю владельца сайта, и в споре это аргумент.
- Собирайте только нужные поля. Если нужна цена и наличие, не сохраняйте описание и фото.
- Кешируйте. Не запрашивайте одну и ту же страницу десять раз за день, если данные обновляются раз в сутки.
- Ищите официальные каналы. API, YML-фиды, выгрузки для партнёров. Это стабильнее парсинга и снимает вопросы о законности.
Как заказать парсер: что указать в задании
Чем точнее задание, тем быстрее и дешевле разработка. Хорошее ТЗ отвечает на вопросы:
- Источники. Какие сайты, какие разделы, примерное число страниц или товаров.
- Поля. Что именно собирать: название, артикул, цена, старая цена, наличие, характеристики, ссылка. Приложите пример таблицы, какую хотите получить.
- Частота. Разово, раз в сутки, раз в час. От этого зависит архитектура и стоимость.
- Сопоставление. Как связывать товары конкурента со своими: по артикулу, по штрихкоду, по названию. Это часто самая сложная часть.
- Формат результата. Excel или CSV на почту, Google Таблица, выгрузка в 1С, загрузка в CMS, API для вашей системы.
- Уведомления. Нужно ли сообщать в Telegram, если цена конкурента упала ниже вашей.
- Поддержка. Сайты меняют вёрстку, и парсер ломается. Кто и как быстро будет его чинить.
Технологии
| Тип сайта | Чем парсить |
|---|---|
| Обычный HTML, данные в коде страницы | Python, httpx или requests, lxml или BeautifulSoup |
| Большие объёмы, много сайтов | Scrapy с очередями и повторными попытками |
| Данные подгружаются JavaScript | Playwright (управляемый браузер) или прямые запросы к внутреннему API сайта |
| Сайт отдаёт JSON через своё API | прямые запросы к API, это быстрее и стабильнее всего |
Запуск обычно на сервере по расписанию, результаты складываются в базу данных, а дальше уходят туда, где они нужны. Если данные должны попадать в учётную систему, парсер связывают с ней через интеграцию с 1С или API CRM.
Готовый сервис или свой парсер
| Вариант | Когда подходит | Ограничения |
|---|---|---|
| Готовый облачный сервис мониторинга цен | стандартная задача, популярные магазины | абонплата, не все сайты поддерживаются, сложно встроить в свои процессы |
| Визуальные конструкторы парсеров | разовые задачи, простые сайты | ломаются на сложных сайтах, ручной запуск |
| Свой парсер на Python | нестандартные источники, интеграция с учётом, регулярный запуск | нужна разработка и поддержка |
Типичная схема мониторинга цен
Чтобы было понятнее, как это выглядит в работе, разберём обычную задачу. Магазин продаёт 1 500 товаров и хочет каждое утро знать, где пять основных конкурентов продают те же позиции дешевле.
- Сопоставление. Один раз собирается таблица соответствия: ваш артикул и ссылки на этот же товар у каждого конкурента. Часть связок находится автоматически по артикулу производителя, остальное проверяется вручную. На это уходит больше всего времени в начале проекта.
- Ночной обход. Каждую ночь парсер проходит по ссылкам из таблицы, с паузами между запросами, и сохраняет цену и наличие в базу. Историю хранит, чтобы видеть динамику.
- Отчёт. Утром менеджер получает таблицу: товары, где вы дороже рынка больше чем на 5 %, товары, которых нет ни у кого, кроме вас, и резкие изменения цен за сутки.
- Контроль поломок. Если у конкурента поменялась вёрстка и парсер перестал находить цену, приходит уведомление в Telegram, а не пустой отчёт, на который никто не обратил внимания.
Описания и фото конкурентов в такой схеме не собираются вообще: для решения задачи они не нужны.
Частые вопросы
Законно ли парсить цены конкурентов?
Сбор цен для внутреннего анализа обычно не нарушает закон: цена это факт, а не объект авторского права. Риски появляются, если вы извлекаете весь каталог конкурента целиком и используете его публично, или создаёте его сайту заметную нагрузку.
Нужно ли разрешение владельца сайта на парсинг?
Для сбора отдельных общедоступных фактов разрешение не требуется. Для извлечения существенной части базы данных и использования чужих текстов и фото разрешение нужно. Если сомневаетесь, проще спросить: многие компании дают фид или API по запросу.
Можно ли парсить маркетплейсы?
Правила крупных маркетплейсов обычно запрещают автоматический сбор данных без разрешения, и они активно защищаются от ботов. Для продавцов у маркетплейсов есть официальные API, через которые можно получать данные по своим товарам и заказам. Для анализа рынка используют специализированные сервисы аналитики.
Сколько времени занимает разработка парсера?
Парсер одного несложного сайта с выгрузкой в таблицу делается за несколько дней. Мониторинг десятка сайтов с сопоставлением товаров, расписанием и выгрузкой в учётную систему занимает от двух до четырёх недель.
Мы пишем парсеры на Python под конкретную задачу: от мониторинга цен до сбора данных поставщика для наполнения интернет-магазина. Подробнее о формате работы и о том, что нужно для старта, на странице разработки парсеров.