темный логотип proxyscrape

Системы защиты от ботов: Как они работают и можно ли их обойти?

Путеводители, Октябрь-07-20245 минут чтения

Системы защиты от ботов - это технологии, предназначенные для защиты сайтов от автоматизированных действий, таких как спам или DDoS-атаки. Однако не все автоматизированные действия вредны: например, боты иногда необходимы для тестирования безопасности, создания поисковых индексов и сбора данных из открытых источников. Чтобы выполнять такие задачи, не будучи заблокированным антиботсистемами, вам понадобятся специализированные инструменты.

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

Как системы защиты от ботов обнаруживают ботов?

Системы защиты от ботов собирают значительный объем информации о каждом посетителе сайта. Эта информация анализируется, и если какие-то параметры кажутся нехарактерными для человека, подозрительный посетитель может быть заблокирован или ему предлагается решить CAPTCHA, чтобы доказать, что он действительно имеет человеческое происхождение.

Эта информация обычно собирается на трех уровнях: сетевом, поведенческом и отпечатке браузера.

  • Сетевой уровень: Системы защиты от ботов анализируют запросы, проверяют IP-адреса на предмет спама и просматривают заголовки пакетов. Посетители, чьи IP-адреса попали в "черные списки", принадлежат центрам обработки данных, связаны с сетью Tor или выглядят подозрительно в других отношениях, могут столкнуться с проблемой CAPTCHA. Вы наверняка сталкивались с этим, когда Google отправлял вас решать CAPTCHA только потому, что вы использовали бесплатный VPN-сервис.
  • Уровень отпечатков пальцев браузера: Системы защиты от ботов собирают информацию о браузере и устройстве, используемом для доступа к веб-сайту, создавая соответствующий отпечаток устройства. В отпечаток обычно входят тип, версия и языковые настройки браузера, разрешение экрана, размер окна, аппаратный шум, системные шрифты, медиаустройства и многое другое.
  • Поведенческий уровень: Некоторые продвинутые системы изучают, насколько действия пользователя соответствуют поведению обычных посетителей сайта.

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

  • Akamai
  • Cloudflare
  • Datadome
  • Incapsula
  • Касада
  • Perimeterx

Понимание того, какая система защиты от ботов защищает тот или иной сайт, может быть важным для выбора оптимальной стратегии обхода. На специализированных форумах и каналах Discord можно найти целые разделы, посвященные обходу конкретных систем защиты от ботов. Например, такую информацию можно найти на The Web Scraping Club.

Чтобы определить, какую систему защиты от ботов использует тот или иной сайт, можно воспользоваться такими инструментами, как расширение для браузера Wappalyzer.

Как обойти системы защиты от ботов?

Чтобы система не обнаружила автоматику, необходимо обеспечить достаточный уровень маскировки на каждом уровне обнаружения. Этого можно добиться несколькими способами:

  • Используя собственные решения и самостоятельно поддерживая инфраструктуру;
  • С помощью платных сервисов, таких как Apify, Scrapingbee, Browserless или Surfsky;
  • Сочетание высококачественных прокси-серверов, решателей CAPTCHA и браузеров для защиты от обнаружения;
  • Используя стандартные браузеры в режиме headless с патчами для защиты от обнаружения;
  • Или с помощью множества других вариантов различной сложности.

Маскировка на уровне сети

Чтобы защитить бота на сетевом уровне, необходимо использовать качественные прокси-серверы. Конечно, для выполнения простых задач можно использовать только собственный IP-адрес, но такой подход вряд ли будет целесообразен, если вы намерены собрать значительный объем данных. Для регулярной отправки десятков тысяч запросов вам понадобятся хорошие жилые или мобильные прокси, которые не были занесены в черный список.


Проверка IP-адреса с помощью IPQualityScore

При выборе прокси обратите внимание на следующие параметры:

  • Есть ли его IP-адрес в базах данных спама. Это можно проверить с помощью таких инструментов, как PixelScan, или обратившись к базе данных iplists .firehol.org.
  • Есть ли утечки DNS. При проверке с помощью любой подходящей программы, например DNS Leak Test, ваш реальный сервер не должен появляться в списке серверов.
  • Тип прокси-провайдера. Прокси, принадлежащие интернет-провайдерам, вызывают меньше подозрений.

Подробнее о проверке качества прокси можно узнать здесь.

Вращающиеся прокси также полезны для веб-скрапинга. Они предоставляют множество IP-адресов, а не один, что снижает вероятность блокировки бота, собирающего информацию, поскольку сайту сложнее найти закономерности в запросах. Вращающиеся прокси распределяют запросы между многими IP-адресами, снижая риск блокировки из-за большого количества запросов с одного IP.

Маскировка на уровне отпечатков пальцев

Мультиаккаунтинговые (антидетекторные) браузеры идеально подходят для подмены отпечатков пальцев браузера. Самые качественные из них, например Octo Browser, подделывают отпечатки пальцев на уровне ядра браузера и позволяют создавать большое количество профилей браузера, каждый из которых выглядит как отдельный пользователь.

Настройка цифрового отпечатка профиля Octo Browser

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

Работа с мультиаккаунтинговым браузером мало чем отличается от использования обычного браузера в режиме headless. Octo Browser предоставляет подробную документацию с пошаговыми инструкциями по подключению к API для всех популярных языков программирования.

Пример создания профиля браузера Octo с помощью Python

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

Моделирование реальных действий пользователя

Чтобы обойти системы защиты от ботов, необходимо также имитировать действия реальных пользователей: задержки, эмуляция движения курсора, ритмичное нажатие клавиш, случайные паузы и нестандартные модели поведения. Вам часто придется выполнять такие действия, как авторизация, нажатие кнопки "Читать дальше", переход по ссылкам, отправка форм, прокрутка ленты и т. д.

Действия пользователя могут быть смоделированы с помощью популярных решений для автоматизации браузеров с открытым исходным кодом, таких как Selenium, хотя существуют и другие варианты, например MechanicalSoup, Nightmare JS и другие.

Чтобы скраппинг выглядел более естественно для систем защиты от ботов, рекомендуется добавлять в запросы задержки с неравномерными интервалами.

Выводы

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

  • На сетевом уровне вы можете использовать высококачественные прокси, особенно вращающиеся.
  • Для подмены отпечатка пальца браузера можно использовать мультиаккаунтинговые браузеры для защиты от обнаружения, например Octo Browser.
  • Для имитации реальных действий пользователя можно использовать инструменты автоматизации браузера, такие как Selenium, дополнительно включающие нерегулярные задержки и модели поведения.

Хотите усовершенствовать свою систему веб-скреппинга с помощью первоклассных средств защиты от обнаружения? 

Octo Browser - идеальное решение для вас. Он предлагает передовую систему подмены отпечатков пальцев и удобное управление несколькими учетными записями. 

Используйте промокод PROXYSCRAPE для получения бесплатной 4-дневной базовой подписки на Octo Browser для новых пользователей. Не упустите эту возможность повысить свой уровень веб-скреппинга!

Счастливого скрапбукинга!