На сегодняшний день существует множество нейросетей для решения капчи различной сложности. Алгоритмы капчи и их решения постоянно меняются, некоторые улучшаются, а некоторые перестают быть популярными. Изучение нейросетей для наших целей видится мне очень проблемным занятием, особенно в рамках нашего курса, который был написан для новичков в парсинге и в Python. Нам пришлось бы медленно и упорно продвигаться через горы науки, попутно изучая особенности нейросетей и их отличия, изучать строение и принципы работы нейрона и многое другое.
Есть технологии, которые намного проще и быстрее, как для изучения, так и для применения. Вам не потребуется тратить несколько дней на обучение нейросети для решения капчи на определенном сайте. Написание кода для обхода капчи займет у вас в десятки, а то и сотни раз меньше времени, чем при работе с нейронными сетями, особенно если вы никогда с ними не работали.
Все уже давно придумано за нас. Сервисы анти-капчи точно так же справляются с этой задачей, как и 10-15 лет назад. Нам осталось найти секретный ключ капчи на сайте, где она появляется, и передать его в API сервиса для распознания капчи. В ответ мы получим другой, уже распознанный, ключ.
Существует множество сервисов по распознаванию капчи, но мы будем работать только с одним из них. Научившись работать с одним, вы сможете работать с любым другим.
Важное примечание: Все сервисы по разгадыванию капчи помогают обходить капчу на бэкенде, формируя распознанный ключ. Обход капчи на фронтенде т.е. непосредственно в браузере, мы будем делать с помощью Selenium и дополнительных библиотек, API, и нейросетей. Но все же, есть такие капчи, которые мы будем решать на фронтенде с помощью сервисов. Об этом и многом другом вы узнаете далее в курсе.
RuCaptcha.com — наверное, самый популярный сервис для решения капчи в рунете. Именно им мы будем пользоваться по причине того, что он умеет работать с капчами от Yandex, которые используются в основном в рунете. Сервис привлекает для решения капчи реальных пользователей, которые решают наши капчи вручную и получают небольшое вознаграждение за это. Мы будем им за это платить. Тарифы вполне адекватные — до 50 рублей за 1000 обычных капч и до 160 рублей за 1000 сложных капч. Актуальный прайс можно посмотреть тут.
На распознавание капчи может уходить от 5 до 30 секунд, в зависимости от ее сложности и загруженности сервиса.
2Сaptcha.com — клон рукапчи, но ориентирован на англоязычный сегмент. Могут возникать проблемы с Yandex капчей и пополнением баланса, если вы находитесь в России.
anti-captcha.com — еще один относительно крупный сервис для решения капчи, также ориентирован на англоязычный сегмент. Из особенностей — распознавание JavaScript-капчи. По стоимости и времени разгадывания практически не отличается от других. Также могут возникнуть проблемы с Yandex-капчей и пополнением баланса, если вы в РФ.
Итак, подведём итоги:
Каждый сервис привлекает реальных пользователей для решения капчи;
Стоимость решения везде одинакова;
Скорость решения также везде одинакова;
Какой-то сервис может быть загружен, а какой нет, это влияет на скорость решения капчи. Также скорость решения зависит от количества пользователей, которые решают капчу;
Обход капчи стоит очень дешево.
Плюсы и минусы сервисов антикапчи
Плюсы:
Высокая скорость написания кода, можно уложиться в одну функцию;
Низкая цена на решения капчи;
Простота использования API сервиса, очень подробная документация;
Один сервис может решить практически любые виды капч, в отличие от нейросетей;
Сервисы устойчивы к изменению алгоритма капч, они сами подстраивают свою работу, иногда вы даже не заметите, что капча изменила свой алгоритм.
Минусы:
Нужно следить, чтобы баланс всегда был положительным (если вы пишете парсер на заказ, то можно делегировать этот пункт заказчику);
Скорость решения капчи (от 5 до 20 секунд, ваш парсер ничего не будет делать, а только ждать ответа с ключом);
Ошибки в решении, иногда пользователи могут решить капчу неправильно и прислать нам неверный результат, в таком случае мы отправляем ключ капчи снова. Неверные решения можно не оплачивать, отправив в ответ определённый параметр.
Регистрация
Для выполнения задач в следующих шагах, вам необходимо пройти регистрацию на rucaptcha.com и получить API-ключ, который мы будем использовать для подключения к сервису.
В некоторых уроках этого курса мы будем использовать библиотеку 2captcha-python, которая послужит своеобразным мостом между API и вашим кодом.
Установка
pip3 install 2captcha-python
Импорт
from twocaptcha import TwoCaptcha