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