Казалось бы, на дворе 2024 год, а пользователи продолжают стойко преодолевать тяготы (читай угадывать где изображены светофоры), которые им выставляет корпорация Гугл в виде капчи и хвастаться у кого больше score, чтобы преодолеть рекапчу посложнее. Тем не менее, по заявлениям некоторых оптимизаторов, капчи уже давно себя изжили и не работают так эффективно, как хотелось бы изначально их разработчикам. Какая же самая наиболее популярная капча современности? Это reCAPTCHA.
Бесспорно, reCAPTCHA V2, reCAPTCHA V3 и т.п. reCAPTCHA популярнее остальных видов капч. Создана reCAPTCHA была компанией Гугл в далеком 2007 году. Прошло уже много лет с момента появления первой reCAPTCHA, но она продолжает удерживать пальму первенства, периодически немного сдавая позиции конкурентам и отвоевывая их обратно. Но еще ни разу reCAPTCHA не заняла даже 2 место по популярности, несмотря на все ее несовершенство перед нейросетями.
По поводу несовершенства, также есть вопросики. Чего стоит нашумевший доклад компании Open AI (страница 15), в котором они признали, что нейросеть для того, чтобы обойти капчу обратилась к человеку (обманула его, кстати), чтобы это человек помог ей зарегистрироваться на сервисе распознавания капчи 2капча дляобхода капчи. Слишком много капч в одном слове, не кажется? Сути это не меняет — нейросеть не справилась с простейшей задачей, а значит у человечества все еще есть шанс!
Вернемся к статье! Было огромное количество попыток сделать «убийцу рекапчи», какие-то были менее успешными, какие-то только выглядели как угроза reCAPTCHA, а на деле оказывались пшиком, но факт остается фактом, желание конкурентов сделать что-то лучше и надежнее reCAPTCHA демонстрирует ее популярность.
reCAPTCHA V1
reCAPTCHA V2
reCAPTCHA V3
Каждая из них – это улучшенная версия предыдущей reCAPTCHA. Давайте разберемся подробнее почему и чем они отличаются:
Что такое и как распознать reCAPTCHA V1? Очень просто!
Самая первая версия капчи reCAPTCHA V1 представляла собой отрывки текста из отсканированных книг, ее еще называли (и до сих пор называют) простая капча или текстовая капча. Это была достаточно примитивная капча, сильно навязчивая в определенных случаях и раздражающей пользователей.
К слову, сервисы распознавания капчи решают такую reCAPTCHA по самому минимальному тарифу, и формируют маркетинговые предложения, демонстрируя нереально низкие цены на распознавания, также, именно благодаря текстовой reCAPTCHA (правда я ее очень давно уже не встречал, может где-нибудь в даркнете осталась, кто знает)
Юзеру предлагалось ввести текст в специальном окне, сейчас что-то подобное еще можно встретить на старых ресурсах, но на нормальных площадках уже никто не использует reCAPTCHA V1.
ReCAPTCHA V1 была первой версией, представленной в 2007 году. Она использовала искаженный текст из отсканированных книг, который пользователи должны были ввести, чтобы доказать, что они не боты. Эта система использовала ввод пользователей для оцифровки книг, газет и старых радиошоу и конечно же, для обучения своих моделей (не тех, которые на модных показах дефилируют, а тех, которые обучаются при помощи машинного обучения).
Именно в период, когда Гугл внедрил первую версию reCAPTCHA начали появляться автоматические решатели капчи, которые без особого труда обходили текстовую капчу. Сперва их обучали на массиве и после чего запускали в работу, со временем такие солверы делали все меньше и меньше ошибок и экономили владельцу кучу времени и средств.
С текстовой капчей хорошо справляются всевозможные приложения для распознования капчи, например в Гугл Хроме или в Мозиле.
reCAPTCHA v2 — Как распознать картинки? Где текст?
Все меняется и развивается, и научившись практически бесплатно обходить текстовые капчи автоматизаторы, уже откровенно насмехались над компанией Гугл. То есть, то, что изначально было создано для защиты поменяла свою функцию и уже выступала в качестве внешнего раздражителя для обычных посетителей сайта.
Наконец, после осознания того, что текстовые капчи больше не работают, была создана новая версия reCAPTCHA V2, которая была призвана убрать раздражение юзеров от навязчивости первой версии, повысить безопасность при защите проектов и в целом, улучшить пользовательский опыт.
Вторая версия reCAPTCHA представляет собой пустое поле, при клике по которому появляется галочка, что капча пройдена, либо выскакивает окно со светофорами, которые требовалось найти. Светофоры, это конечно же метафора, вместо светофоров нужно было искать различные предметы. Уверен, вы все понимаете о чем идет речь.
Флажок («Я не робот»): Самый простой вид проверки, где пользователю нужно просто нажать на флажок. Система анализирует поведение пользователя, чтобы определить, человек это или бот. И если у системы не возникают вопросы — вы проходите дальше, а вот если вопросики к вам есть (например ваши куки показались системе слишком подозрительными, так как вы много раз безуспешно выполняли одно и тоже действие на сайте) вас просят потыкать картинки.
Задачи с изображениями: Если система сомневается, она предлагает пользователям выбрать определенные объекты на изображениях (например, «Выберите все изображения с светофорами»). И чем меньше к вам доверия, тем больше будет таких картинок и они будут дольше прогружаться перед тем, как покажутся вам.
Смысл в таком разделении достаточно прост — по задумке Гугл, обычный пользователь интернета, не посещает сомнительных ресурсов, не обращается к одному и тому же ресурсу много раз (как это делают неумные боты) и он просто нажмет на флажок, ну или по быстрому решит пару картинок. А вот бота то, погоняют как следует.
Что касается противоположного лагеря то с появлением reCAPTCHA V2 старые способы уже не работали, и многие авторешатели прекратили нормально функционировать, рынок начал перестраиваться и продолжает развиваться даже сейчас, так как появляются все новые и новые параметры, которые учитываются при решении reCAPTCHA.
В то время рынок реально просел, большинство парсеров перестало нормально работать, это можно сравнить если не с появлением танков в Первой Мировой войне, то, как минимум с появлением мобильных телефонов. Эта reCAPTCHA полностью поменяла правила игры. И кстати, научно доказанный факт (это не точно), после нескольких бессонных ночей первыми способ обхода второй версии рекапчи выкатила 2captcha, ну а после них уже все остальные подхватили способ и рынок снова ожил.
Несмотря на новизну, вторая версия также сильно раздражала обычных людей и негатив никуда не делся. Система была несовершенна, что побудило компанию Гугл идти вперед и создавать новые продукты. Но не сразу. Какое то время картинки осели на рынке и плотно засели в сознании людей, и пресловутые светофоры уже стали чем-то вроде Xerox в нише копировальных аппаратов (вы ведь знаете эту историю, правда?).
Что такое и как обойти Гугл reCAPTCHA v3? То что невидно распознать нельзя... Или все таки можно?
Решение не раздражать пользователя преследовало компанию Гугл на всех этапах создания reCAPTCHA, но как этого добиться? Путем скрытия reCAPTCHA, так третья версия стала невидимой. Она работает в фоновом режиме, непрерывно отслеживая действия пользователя на сайте и присваивая им оценку риска (от 0.0 до 1.0) на основе их поведения.
Вот тот самый score который я упоминал в самом начале текста. То, чем хитрые боты хвастаются в своих ботокурилках и на совместных ботокорпоративах, а может даже боты мальчики отправляют ботам девочкам в личку score пики, кто знает? В любом случае — этот показатель присваивается каждому пользователю и по различным метрикам вычисляется его значение.
Чем выше score тем быстрее пользователь проходит reCAPTCHA и тем меньше у него проблем. Чем ниже.. Ну, тут думаю понятно.
С появлением новой версии рекапчи революции не случилось, но нервов она тоже подпортила сервисам распознавания капчи. Способ обхода reCAPTCHA V3 был найден, и в для этого лучше всего работают именно сервисы с ручным распознаванием капчи, так как у живого человека score всегда будет лучше!
Веб-сайты могут устанавливать пороги для оценок риска, определяя уровень взаимодействия или проверки в зависимости от предполагаемого риска. Если владелец хочет максимально улучшить пользовательский опыт, он выставляет менее высокий score и наоборот. Таким образом компания Гугл предоставила владельцам выбор между пользовательским опытом и защитой, найти баланс в этом случае не так и сложно.
Кто эти люди, которые практикуют обход reCAPTCHA и для чего им это нужно?
Зачем в принципе нужно обходить reCAPTCHA? Если ты рядовой пользователь и просто посещаешь веб ресурс, ты можешь решить эту проблему самостоятельно, но другой вопрос, когда тебе необходимо анализировать и тестировать системы своего ресурса на устойчивость к нагрузкам либо для улучшения пользовательского опыта, или для автоматизации рутинных задач.
Капча встречается при парсинге больших объемов данных, например Амазона или какого-нибудь Озона с Вайлдбериз.
Большой объем капчи решить вручную не получится. Для этого разработчики создают всевозможные программы, модули, библиотеки, скрипты и тп для того чтобы обойти reCAPTCHA. Выкладывают свои наработки на githab и другие площадки. Я рассмотрел три основных языка программирования, которые считаются наиболее популярными для автоматизации рутинных задач и собрал топ модулей для распознавания капчи, а также описал как решить reCAPTCHA вручную (без использования готовых модулей).
Python и reCAPTCHA, как решать reCAPTCHA на python?
Наиболее популярный язык программирования, безусловно Python, код для этого языка программирования ищут в 5 из 10 случаев, когда гуглят «Как обойти рекапчу» в интернете (не учитывая запросов, которые содержат приставку python, типа таких – «как обойти рекапчу на питоне» и тп.
Но если копнуть чуть глубже - почему Питон такой популярный? Вероятно причина в том, что он не сильно сложный с точки зрения изучения и тут очень много джунов и тех, кто еще не дорос до джуна. А если много новичков и не профессионалов - значит много вопросов. И значит распознавания капчи может стать достаточно тривиальной задачей. Именно по этой причине я собрал несколько уже готовых модулей, которые нужно просто подключить в исполняемом файле.
Это не топ модулей, которые являются самым популярными во все времена - это просто пять модулей, которые по различным причинам находятся в поисковой выдаче на топовых позициях. Да, подобных модулей куча, но их нет в топе, а значит их нет в этой статье. Тестирование производительности, сравнение и т.п. не проводилось. Я просто попробовал их на работоспособность и на момент публикации статьи они работали.
Я выделил следующие популярные модули, с помощью которых можно распознать reCAPTCHA (кстати, с помощью всех этих модулей можно распознать и другие типы капч):
Модуль для обхода reCAPTCHA на Python 2captcha
Официальный модуль от сервиса распознавания капчи 2капча, разработан для легкой интеграции с их АПИ, модуль обладает расширенным функционалом и поддерживает настройку прокси. Модуль поддерживается и регулярно обновляется, может быть использован при парсинге веб-ресурсов и автоматизации.
Сервис идеален для пользователей, которые делают упор в распознавании капчи на надежность, а также кому требуется официальная поддержка от сервиса 2капча.
Может это и лишнее, но я уточню, что каждый модуль, представленный в этой статье интегрирует сторонний платный сервис, учитывайте это.
Модуль поддерживает асинхронные операции.
Модуль для распознавания Google reCAPTCHA для Питон
Модуль для решения reCAPTCHA и некоторых других популярных капч (ReCaptcha (v2, v3), FunCaptcha и hCaptcha). Основное отличие его от предыдущего модуля в том, что он более узконаправленный (поддерживает меньшее количество капч) и может менее гибко реагировать на обновления со стороны reCAPTCHA, по сравнению с предыдущим официальным модулем.
2Captcha-solver поддерживает настройку прокси и особенно полезен для задач, требующих высокой производительности, благодаря поддержке асинхронных операций, что позволяет одновременно решать несколько reCAPTCHA.
Модуль написанный под Python — решатель Рекапчи
Многофункциональный модуль, основной упор которого делается на поддержку нескольких сервисов распознавания капчи. Функционал модуля примерно похож на предыдущие два, он поддерживает настройку прокси и асинхронные операции.
Исходя из того, что модуль позволяет интегрировать распознавание капчи через несколько сервисов, то у него есть уникальная функция — перебор сервисов. То есть, вы можете использовать один сервис в качестве остального, а другие в качестве резервных, и когда у вас, к примеру, закончаться средства на основном сервисе, или если основной сервис не справился с задачей, капча уйдет в резервный и будет решена. Таким образом ваш скрипт будет более автоматизированным и не будет зависить от стабильности одного конкретного сервиса.
Модуль для распознавания reCAPTCHA на Python (для Селениума)
Это узконаправленный модуль, который используется для легкой интеграции с Selenium и Playwright, и поддерживает все виды reCAPTCHA.
Модуль можно использовать без необходимости установки дополнительных расширений и для начала потребуется только ключ АПИ.
Его главное отличие от предыдущих модулей — то что twocaptcha-extension-python будет сложно использовать для вопросов автоматизации, где не используется Selenium или Playwright, так как используется исключительно для перечисленных сервисов.
Модуль для распознавания reCAPTCHA V2 и V3 на Питон
Модуль который напоминает по функционалу captchatools, и его можно назвать аналогом указанного сервиса. То есть, вы можете использовать один из них на выбор.
Все характеристики совпадают: поддержка нескольких сервисов, перебор сервисов в процессе распознавания капчи, асинхронные операции, настройка прокси. Все это есть и тут. Различается лишь разработчик.
Ну и предположение от меня, скорее всего оба эти сервиса будут чуть медленнее реагировать на изменения, которые происходят в сервисах распознавания капчи и которые делают разработчики капч, чем официальные модули.
Хочется также отметить, что все перечисленные сервисы (а не только Twocaptcha-extension-python) могут использоваться вместе с Selenium и Playwright, отличие будет лишь в подключении и синхронизации.
Как обойти reCAPTCHA используя Python (пример кода)
Если не доверяете никаким сторонним модулям, я подготовил максимально универсальный код, который можно с небольшими доработками вставить в ваш скрипт, написанный на Питоне и решать reCAPTCHA автоматически. Вероятно под конкретный проект потребуется доработать этот код, но в целом - вариант рабочий и учитывает все параметры указанные в АПИ.
Однако, перед тем как использовать предоставленный скрипт, внимательно ознакомьтесь с рекомендациями сервиса, по распознаванию того или иного типа reCAPTCHA, чтобы иметь представление о том, как работает этот код.
Также, не забудьте подставить в коде ваш ключ АПИ и конечно же, установить необходимые модули.
JavaScript и reCAPTCHA, как распознать reCAPTCHA на javascript с помощью модулей
Второй по популярности язык, для которого пользователи ищут способы обхода reCAPTCHA – node js, примерно 3 из 10 запросов по обходу reCAPTCHA приходятся на этот язык программирования.
Тут ситуация точно такая же, как и с предыдущим языком. Не рассматривайте этот список, как список именно лучших в своем классе модулей. Только популярные у поисковых машин инструменты, не более того. Никаких завышенных ожиданий, прошу!
Как и в случае с Python проще всего распознать reCAPTCHA через специальные модули, тем более, что сервисы распознавания капчи заинтересованы в упрощении работы для своих клиентов и многие создают и поддерживают такие модули, вот список наиболее популярных из них.
Модуль для распознавания reCAPTCHA с использованием Javascript
Официальный модуль для node js от сервиса распознавания капчи 2капча, поддерживает большинство известных типов капчи, в том числе reCAPTCHA. Важное отличие этого модуля от остальных — поддержка TypeScript что делает его удобным для разработки различных приложений.
Все базовые настройки, включая асинхронные операции, настройка прокси и т. п в модуле присутствуют, что делают его универсальным модулем для решения большинства типов капчи. Ну и факт того, что модуль создан сервисом 2капча позволяет сделать вывод о его надежности.
Javascript модуль 2captcha для обхода reCAPTCHA
Также является официальным модулем для распознавания основных видов капчи от сервиса 2капча и поддерживает все те же настройки, что и предыдущий модуль (за исключение поддержки TypeScript), но мне показалось, что он создан больше с упором на простоту интеграции и быстрое начало работы.
Он более легкий, чем предыдущий и он как и его предшественник решает главную задачу — обходит reCAPTCHA. Так что если вам просто необходимо, чтобы ваш скрипт (программа), написанная на node js решала reCAPTCHA, используйте этот модуль, а если нужна более глубокая интеграция, присмотритесь к предыдущему модулю.
Модуль для обхода Рекапчи на Javascript
Модуль заточенный для интеграции с Puppeteer и позволяет решать reCAPTCHA и другие популярные виды капчи.
Помимо того, что этот модуль заточен под Puppeteer, он предоставляет возможность выбора провайдера, решающего капчу, что также позволяет настроить перебор сервисов (как было описано в блоке про модули для Python).
Хочется отметить, что два предыдущих модуля могут быть интегрированы в Puppeteer, но captcha-solver предоставлет решение «из коробки», то есть поставил и забыл, тогда как в случае с 2captcha и 2captcha-javascript может потребоваться ручная обработка результатов или настройка этой обработки.
Javascript модуль чтобы обойти reCAPTCHA
Модуль от сторонних разработчиков, который поддерживает решение reCAPTCHA, а также некоторых других популярных типов капчи. В модуле интегрировано несколько сервисов распознавания капчи, что позволяет настроить перебор сервисов (один сделать главным, а остальные резервными).
Сервис является альтернативой 2captcha и 2captcha-javascript, но возможны задержки в обновлении, так как модуль поддерживается не официальными сервисами, а в остальном функционал у него похож на конкурентов.
Как обойти reCAPTCHA на Node js
Как в случае с Python, для тех, кто не любит уже готовые решения, ниже приведу скрипт для решения капчи с использованием языка программирования node js. Напоминаю, не забудьте установить необходимые модули для работы кода, в том числе:
Пункт Установление модулей для работы кода на Node js
Установить его можно с помощью такой команды –
PHP и reCAPTCHA, как распознать reCAPTCHA на php с помощью модулей
И третий по популярности язык, для которого пользователи ищут способ обхода reCAPTCHA — php. Предлагаю начать с модулей, как и в первых двух случаях и закончить кодом. Итак, наиболее популярные модули для решения reCAPTCHA на PHP следующие:
Модуль для обхода reCAPTCHA в Хроме
Этот модуль позволяет легко интегрировать API 2Captcha в ваш PHP-код для решения CAPTCHA. Он поддерживает такие типы CAPTCHA, как ReCaptcha, FunCaptcha, GeeTest, и другие. Модуль предназначен для быстрой настройки и использования, включая поддержку текстовых CAPTCHA и ReCaptcha v3. Он также поддерживает различные методы для работы с изображениями и аудиофайлами.
Как распознать reCAPTCHA используя PHP
Модуль, предоставляющий удобный интерфейс для интеграции с различными CAPTCHA-сервисами, включая 2Captcha. Поддерживает различные типы CAPTCHA, такие как reCAPTCHA и FunCaptcha. Этот модуль ориентирован на легкость использования и быструю настройку.
Фактически, если сравнить два этих модуля, то первый разработан сервисом 2captcha, а второй сообществом разработчиков и оба решают одни и те же задачи и примерно одинаковый набор функционала. Однако, второй модуль может быть менее оперативен в вопросах обновлений, в отличие от официального модуля.
Ну и для тех, кто не привык использовать готовые модули, вот код для интеграции напрямую. Код использует стандартные функции PHP, такие как file_get_contents и json_decode, вот сам код:
Таким образом, используя приведенные примеры, вы можете закрыть большую часть вопросов, связанных с распознаванием reCAPTCHA. Можете задавать вопросы в комментариях, если они остались!