Как очистить сайты, защищенные Kasada

Как очистить сайты, защищенные Kasada

4 апреля 2023 г.

Как очистить Kasada с помощью Playwright, необнаруженного Chromedriver и других инструментов

Очистка веб-сайта, защищенного Kasada

В течение последних недель я общался с Димитаром Крастевым из Crawlio о своем недавнем открытии программного обеспечения Kasada для защиты от ботов, обобщено в этом посте на LinkedIn.

Crawlio's Linkedin post about Kasada

Эти примечания объединяют то, что мы заметили в наших предыдущих статьях, например, нашу матрицу Anti-Detect Anti-Bot или наш последний пост о веб-разблокировщике Bright Data.

В этом посте мы расскажем, как мы можем очищать веб-сайты, защищенные Kasada, с помощью бесплатных и коммерческих инструментов.

Весь код можно найти в нашем репозитории GitHub ниже.

репозиторий GitHub Free Readers

Что такое Kasada и как это работает?

Kasada – один из новейших игроков на рынке решений для защиты от ботов, который отличается некоторыми особенностями.

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

Network Tab of a Kasada website

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

По сути, это то, что они называют на своем веб-сайте философией нулевого доверия.

<цитата>

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

И еще:

<цитата>

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

Чтобы обойти этих антиботов, обычно есть два способа:

* Обратное проектирование вызовов JS, деобфускация кода.

* Сделайте наши парсеры неотличимыми от людей, просматривающих веб-страницы.

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

<цитата>

Касада постоянно меняется, чтобы максимально повысить сложность и обеспечить долгосрочную эффективность.

Наш собственный язык интерпретации работает в браузере, чтобы удержать злоумышленников от расшифровки клиентского кода. Устойчивая обфускация уравновешивает игровое поле, меняя набор навыков с простого для обратного проектирования JS на наш собственный полиморфный метод.

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

Итак, учитывая, что нам нужно сделать наши парсеры максимально похожими на людей, давайте посмотрим, что мы можем сделать, чтобы обойти это.

Бесплатные решения

Драматург с Chrome

В нашей матрице Anti-Detect Anti-Bot я протестировал Kasada с Chrome безуспешно со следующей настройкой, которая со временем доказала свою надежность.

Old configuration for Plawyright with Chrome

Опять же, благодаря Dimitar и его публикации на странице Crawlio, я захотел попробовать еще раз.

Crawlio's Linkedin post about Chrome options

Итак, я модифицировал свой тестовый парсер и проверил параметры, используемые Chrome, и это сработало!

Playwright with Chrome's new configuration

Я оставил только несколько вариантов отключения песочницы Chrome, уведомления о первом запуске и флага автоматического управления, но добавил:

ignore_default_args=["--enable-automation"]

Это ведет себя как старая опция «—disable-infobars», которая использовалась, чтобы не отображать уведомление о том, что «Chrome управляется службой автоматизированного тестирования». Я изо всех сил пытался отключить его при использовании Playwright и, наконец, обнаружил, что таким образом я могу отключить его.

Я также добавил опцию:

‘--disable-blink-features=AutomationControlled’ 

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

Playwright with Chrome results

Драматург с Firefox

Еще один способ использовать Playwright для борьбы с Kasada — открыть экземпляр Firefox и загрузить целевой веб-сайт. из него.

Playwright with Firefox configuration

Мы уже видели, как это работает в матрице Anti-Detect Anti-Bot, и настройка довольно проста.

Необнаруженный Chromedriver

То же самое можно сказать и о решении Необнаруженный Chromedriver.

Если вы не знаете, что такое Необнаруженный Chromedriver, это в основном специально адаптированная версия Chromedriver для просмотра веб-страниц со всеми настройками и конфигурацией, настроенными так, чтобы они были почти идентичны браузеру Chrome, используемому реальным человеком.

Undetected Chromedriver configuration

Без какой-либо дополнительной настройки вы можете обойти вызов Касады.

Коммерческие решения

Драматург с Войти

Вместо открытия браузера Chrome или Firefox мы можем использовать браузер GoLogin и его многочисленные профили, предлагаемые для обхода Kasada.

В этом случае мы собираемся присоединить сценарий Playwright к открытому экземпляру GoLogin, но результат то же самое.

Playwright with GoLogin configuration

Bright Data Web Unblocker

Последнее предложенное решение; это всегда коммерческая версия, но единственная, для которой не требуется навороченный браузер.

Как мы видели в обзоре продукта, Bright Data Web Unblocker — это прокси-API, который мы можем интегрировать в наши проекты Scrapy (или любой другой инструмент), и он автоматически обрабатывает все настройки и функции, необходимые для обхода Kasada. вызов.

Заключительные замечания

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

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

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


Также опубликовано здесь


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE