Методы защиты от веб-скрапинга и как их обойти

Попередній перегляд
Олександр Л.
11 червня 2025
133
133
11 червня 2025
Веб-скрапинг — это автоматизированный сбор информации с веб-сайтов. Он может быть нужен для различных задач, среди которых поиск информации, создание каталогов информации, мониторинг изменений и обновлений, а также веб-индексация. Однако веб-скрапинг (также известный как парсинг) далеко не всегда используется только для информационно-статистических целей — он также применяется в ряде других задач, часто связанных с коммерческой деятельностью:
- Сбор ценных или платных данных;
- Плагиат или же получение несправедливого конкурентного преимущества;
- Перегрузка сервера определённого сайта (как акт технической атаки);
- Снижение потоков доходов сайтов конкурентов (парсинговые боты обходят модели подписки);
- Искажение аналитик посещаемости сайтов. Поэтому владельцы сайтов внедряют защиты от парсинга, руководствуясь соображениями безопасности, юридической и коммерческой защиты.
Имеющиеся методы веб-скрапинга и пути их обхода
- Ограничение скорости или блокировка IP. Обнаруживаются множественные и слишком частые запросы с одного IP или их диапазона (например, сотни запросов в секунду), после чего такие IP блокируются или ограничиваются в частоте запросов за единицу времени. Метод обхода:
- Ротация IP, использование IP из разных диапазонов и гео.
- Установление задержки запросов и случайных интервалов.
- Внедрение случайных действий между запросами для имитации поведения человека-пользователя.
- Фильтрация User-Agent. Выполняется блокировка подозрительных или отсутствующих HTTP-заголовков. Метод обхода:
- Имитация настоящих заголовков реальных браузеров.
- Периодическая смена заголовков.
- Рандомизация строки User-Agent между сеансами доступа.
- Выполнение Джава скриптов. Поставка данных только после полной отрисовки веб-страницы клиентским Джава скриптом, возможно, с задержками рендеринга. Метод обхода:
- Использование headless браузеров.
- Использование основанных на браузерах сервисов с рендерингом страниц.
- Captcha. Выполнение задач, связанных с человеческой мыслительной деятельностью (распознавание того, что на картинках, ввод текста, выполнение вращения объектов и т.д.). Метод обхода:
- Использование автоматизированных или гуманизированных сервисов распознания и обработки Captcha.
- Избегание запуска сервиса Captcha имитацией человеческого поведения на страницах.
- Использование инструментов превенции запуска сервиса Captcha.
- Распознавание отпечатков браузера. Сбор данных и анализ свойств устройства (WebGL, канвы, шрифты, операционная система, расширения экрана и др.), с которого выполняется доступ к веб-сайту, для распознавания ботов. Метод обхода:
- Скрытые плагины.
- Инструменты подмены данных.
- Использование реальных профилей браузеров с периодической их ротацией.
- Отслеживание кукисов. Отслеживание сеансов посещений и их анализ на «человечность» поведения. Метод обхода:
- Обработка файлов кукисов с помощью инструментов, имитирующих выполнение гуманизированного сеанса.
- Сохранение информации о сеансах между запросами.
- Периодическая очистка кукисов.
- Добавка невидимых полей для заполнения и отправки форм. Скрытые поля Honeypot на веб-страницах обычно заполняются только ботами, но не людьми, что отмечает их как подозрительные. Метод обхода:
- Анализ веб-страниц на наличие Honeypots во избежание заполнения и отправки скрытых форм.
- Авторизация на основе токенов, специфичных для сеанса. Выдача каждому посетителю токенов для каждого уникального сеанса. Метод обхода:
- Предварительный анализ страницы для определения наличия таких токенов, прежде чем начать отправлять запросы на сбор информации.
- Анализ движения мыши. Обнаруживает отсутствие движений мыши или неестественное движение, нехарактерное для человека. Метод обхода:
- Имитация натурального движения мыши, включая прокрутку и клики.
- Использование библиотек, имитирующих естественное поведение мыши.
- Анализ шаблонов трафика. Отслеживание частоты запросов, их последовательность, время, и другое поведение, что может свидетельствовать об автоматизации. Метод обхода:
- Имитация реального поведения человека при углублении в дерево страниц сайта.
- Добавление случайных задержек между запросами.
- Сканирование страниц в непредсказуемом порядке.
Заключение
Современный веб-скрапинг далеко не всегда безобидный, поэтому сайтам важно внедрять методы защиты от него, дифференцируя между роботами и людьми-пользователями.