Если вы когда-либо создавали веб-скрапер, то знаете это чувство — момент, когда вы нажимаете «запустить» и понимаете, что потенциально совершаете цифровое правонарушение. Или, может быть, нет. Сейчас уже никто точно не знает. Добро пожаловать в восхитительно мутное царство легальности веб-скрапинга, где даже юристы приходят в суд с пожиманием плеч и презентацией PowerPoint.
Правда в том, что веб-скрапинг существует в юридическом Бермудском треугольнике. Он не является повсеместно незаконным. Он не является повсеместно законным. Он застрял в этом чистилище, где всё зависит от вашего конкретного случая использования — типа данных, юрисдикции, ваших намерений и того, заметит ли кто-нибудь вообще, что вы что-то делаете. Но вот в чём дело: вы можете преодолеть это минное поле. Вам просто нужно сначала понять правила игры.
Фундаментальный парадокс
Вот что не даёт корпоративным юристам спать по ночам: тот самый интернет, который позволил осуществлять свободный обмен информацией, теперь является тем же интернетом, который корпорации хотят контролировать с помощью всё более агрессивных условий предоставления услуг. С одной стороны, у вас есть идеалистическая концепция веб-скрапинга — демократизация доступа к публично доступным данным. С другой стороны, у вас есть компании, бизнес-модели которых зависят от эксклюзивности данных.
Данные — новая нефть, как говорят. И как в случае с нефтью, кто-то всегда пытается помешать кому-то другому добывать её в своём backyard.
Реальность? Сбор общедоступных данных с веб-сайтов, как правило, является законным, тогда как сбор данных из частных аккаунтов вызывает проблемы с конфиденциальностью. Но «как правило, законно» для программиста означает «возможно, всё будет в порядке, но также может быть и нет, и ваш юрист выставит вам счёт в любом случае».
Юридическая ситуация: кошмар с юрисдикциями
Позвольте мне быть откровенным: если вы работаете на международном уровне, вы имеете дело как минимум с тремя различными правовыми системами одновременно. Давайте разберём их.
Соединённые Штаты: неопределённость CFAA
В США закон, регулирующий веб-скрапинг, всё ещё находится в стадии разработки. Главным злодеем в этой истории является Закон о компьютерном мошенничестве и злоупотреблении (CFAA) — закон 1986 года, который предшествует самому интернету, что объясняет, почему суды по сути занимаются додумыванием его интерпретации.
CFAA запрещает «[t]ому, кто… намеренно получает доступ к компьютеру без разрешения… и тем самым получает… информацию…». Вот в чём проблема: «без разрешения» не определено. Это как будто кто-то написал закон, говорящий «нельзя делать плохие вещи с компьютерами», а затем оставил судьям разбираться, что такое «плохие вещи».
Переломный момент наступил в 2022 году с делом hiQ Labs против LinkedIn. LinkedIn сказал hiQ Labs прекратить сбор данных с их платформы. hiQ Labs ответили «нет, спасибо». LinkedIn подал в суд по CFAA. И вот где становится интересно: Апелляционный суд девятого округа постановил, что сбор общедоступных данных — данных, доступных без защиты паролем — скорее всего, не нарушает CFAA.
Ключевая фраза: «Вероятно, что когда компьютерная сеть в целом предоставляет публичный доступ к своим данным, доступ пользователя к этим общедоступным данным не будет считаться доступом без разрешения в соответствии с CFAA».
Но — и это существенное «но» — суд также отметил, что после того, как владелец сайта отправит вам письмо с требованием прекратить действия, продолжение сбора данных после этого момента демонстрирует отсутствие разрешения и, скорее всего, нарушает CFAA. Так что LinkedIn не мог использовать CFAA превентивно, но мог использовать его ретроактивно, если вы проигнорируете их жалобы.
Подтекст? Есть льготный период, прежде чем вы станете преступником. Как мило.
Европейский Союз: железный кулак GDPR
Европа подходит к этому иначе. Вместо того чтобы задаваться вопросом, что означает «без разрешения», ЕС говорит: «Мы собираемся это регулировать».
Общий регламент по защите данных (GDPR) регулирует не только сбор данных — он регулирует любой сбор персональных данных. И вот в чём загвоздка: даже «общедоступные» данные всё равно являются персональными, если они относятся к идентифицируемому лицу. Тот профиль LinkedIn, который вы собрали? Это персональные данные. Тот Twitter-аккаунт, собирающий твиты? Персональные данные.
Французская комиссия по защите данных (CNIL) относится к этому серьёзно. В 2024 году они оштрафовали компанию на 240 000 евро за сбор данных LinkedIn без согласия, сохранение данных сверх установленных законом пределов и невыполнение прав на доступ.
Подумайте об этом. Штраф в четверть миллиона евро. За то, что многие разработчики считают рутинным сбором данных.
Согласно руководству CNIL от января 2026 года, «сбор персональных данных, доступных онлайн через веб-скрапинг, обычно основан на законных интересах». Перевод: вы можете это сделать, но вам нужно доказать, что ваши законные интересы перевешивают права человека на конфиденциальность. Вам нужны гарантии. Вам нужна документация. Вам нужна юридическая основа.
CNIL даже выступает за «создание специальной законодательной базы» — по сути, признавая, что текущие правила являются пластырем на сломанной ноге.
Практические последствия
Если вы создаёте скрапер для американской компании, нацеленной на данные ЕС, вы технически действуете в рамках обоих режимов. Вам нужно соответствовать неопределённому стандарту «разрешения» CFAA и конкретным требованиям GDPR об обработке персональных данных. Это как пытаться припарковаться параллельно, соблюдая правила дорожного движения двух разных стран одновременно.
Трёхфакторный тест, который имеет значение
Забудьте на мгновение о юридических теориях. Вот что на самом деле определяет, является ли ваш проект по сбору данных юридически обоснованным:
1. Тип данных
Не все данные равны в глазах закона.
- Общедоступные государственные данные: как правило, более безопасные. Они часто явно предназначены для общественного использования.
- За защищённые авторским правом списки электронной коммерции: рискованно. Кто-то владеет творческими правами на эти описания продуктов.
- Персонально идентифицируемые данные: опасно. Вы теперь в зоне GDPR/CCPA.
- Данные, защищённые условиями предоставления услуг: хитро. Суды часто признают эти условия обязательными договорами.
Если вы собираете данные о налогах на недвижимость с государственного сайта, вероятно, всё в порядке. Если вы собираете списки товаров Amazon, чтобы снизить их цены, вы играете с огнём.
2. Нарушения условий предоставления услуг
Здесь контракты становятся кодом. Суды неоднократно подтверждали, что если вы согласились с договорными условиями, запрещающими сбор данных, нарушение этих условий может считаться несанкционированным доступом в соответствии с CFAA. Это цифровой эквивалент проникновения в здание, которое технически открыто для публики, но имеет знак «вход запрещён после этой точки».
Критический вопрос: есть ли у владельца сайта явный запрет, и признали ли вы его? Если в условиях Meta сказано «не собирайте данные», и вы всё равно это сделали, решение суда Meta против Bright Data 2024 года подтвердило, что это может считаться нарушением, даже когда данные кажутся общедоступными.
3. Намерение и использование
Здесь теория встречается с практикой. Одно и то же собранное данные имеет разные юридические последствия в зависимости от того, что вы с ними делаете.
Низкорисковые использования:
- Академические исследования
- Маркетинговые исследования
- Мониторинг соответствия
- Операционный анализ
Высокорисковые использования:
- Перепродажа данных
- Создание конкурирующих продуктов
- Коммерческое перераспределение
- Использование для обучения моделей ИИ без разрешения
ОЭСР предупредила, что «перепродажа собранных данных без разрешения приводит к большинству судебных разбирательств». Другими словами, если вы собираете данные для анализа, вероятно, всё в порядке. Если вы собираете данные, чтобы стать брокером данных, ожидайте юристов.
Техническая защита: сделать ваш скрапер юридически обоснованным
Здесь теория встречается с практикой. Вы не можете полагаться на незнание или удачу. Вам нужно заложить соответствие в инфраструктуру вашего скрапера.
Список реализации
Соблюдайте robots.txt Каждый хорошо себя ведущий скрапер соблюдает robots.txt. Это не только вопрос быть хорошим цифровым гражданином — это сигнал о том, что вы действуете в рамках опубликованных политик платформы.
import urllib.robotparser
def check_robots_txt(url):
rp = urllib.robotparser.RobotFileParser()
rp.set_url(url + "/robots.txt")
rp.read()
# Check if /search path is allowed
if rp.can_fetch("*", url + "/search"):
return True
else:
return False
# Before scraping, verify permission
if check_robots_txt("https://example.com"):
print("Scraping permitted by robots.txt")
else:
print("Scraping prohibited - respect the rules")
Применяйте ограничение скорости Чрезмерные запросы, имитирующие атаки типа «отказ в обслуживании», подлежат действию. Внедрите задержки в свой скрапер. Реальные пользователи не делают 10 000 запросов в минуту.
import time
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
def create_limited_session(requests_per_second=1):
"""Create a session with built-in rate limiting"""
session = requests
