Распознавание капчи на Python: решайте капчу в скриптах и парсерах
Выполните pip install capskip, вызывайте по одному методу на каждый тип капчи из обычного или asyncio-кода и получайте токены или текст от приложения CapSkip, работающего на оборудовании под вашим контролем. Никакого счётчика ни на одном этапе.
- pip install capskip
- Клиенты sync и asyncio
- Python 3.10 и новее
solver = CapSkip()
token = solver.recaptcha(
sitekey = "6Le-wvkS…",
url = "example.com/signup")03AGdBq27…0.12s · $0.00Одна команда pip install capskip превращает любой скрипт в инструмент распознавания капчи на Python: передайте ему reCAPTCHA, виджет Cloudflare Turnstile, слайдер GeeTest v3 или размытую текстовую картинку, и он вернёт токен или символы для отправки. Само распознавание происходит локально, в десктопном приложении для Windows, которое вы ставите на рабочую станцию или VPS, поэтому ничто не ждёт в удалённой очереди и ни один вызов не тарифицируется отдельно.
В SDK на каждое семейство капч приходится один метод. recaptcha() принимает Enterprise, v3, а также варианты v2 с чекбоксом и невидимый; turnstile() обрабатывает виджет и полностраничную проверку Cloudflare; geetest() работает с парой gt и challenge; normal() читает капчи-картинки, будь то сохранённый файл, ссылка на изображение или данные base64. Для более редких типов методы friendly_captcha(), captchafox(), capy(), altcha() и amazon_waf() вызываются в том же стиле.
Эти имена методов общие для двух клиентов. CapSkip блокирует выполнение так же, как requests, и подходит для Selenium или быстрого скрипта, а AsyncCapSkip превращает каждое решение в корутину, и такие корутины можно десятками собирать через gather в краулере на httpx или асинхронном Playwright. Тариф фиксированный, от $35 в месяц, поэтому цикл повторов, сработавший тысячу раз, стоит ровно столько же, сколько один вызов.
Задавайте таймауты под каждый тип капчи. Текстовая картинка возвращается примерно за 0,1 секунды. Для reCAPTCHA, Cloudflare Turnstile и GeeTest приложение незаметно открывает настоящий браузер, поэтому для первых двух рассчитывайте примерно на интервал от 3 до 10 секунд, а для слайдера примерно от 7 до 12. Закладывайте для таких вызовов больший запас в таймаутах и пулах воркеров.
Что pip install capskip добавляет в ваш код на Python
Один метод на семейство капч
recaptcha(), turnstile(), geetest(), normal() и четыре менее крупных решателя вызываются в едином стиле. Передайте аргумент, который данный тип не принимает, и ValidationException сразу сообщит об этом, вместо тихого сбоя на сайте.
Блокирующий или asyncio, имена те же
CapSkip подходит для кода на requests и сессий Selenium. AsyncCapSkip делает каждое решение корутиной, поэтому один цикл событий может ожидать множество капч параллельно без дополнительных потоков.
Текстовые капчи в виде обычных строк
normal() превращает искажённую картинку в символы примерно за 0,1 секунды. Браузер не открывается, прокси не нужен, поэтому этап OCR никогда не становится узким местом парсера.
Работает рядом с Selenium, Playwright, Scrapy
SDK не трогает браузер. Ваш инструмент находит sitekey, CapSkip возвращает ответ, а вы вставляете его в открытую страницу или отправляете вместе с POST-запросом формы.
Исключения, удобные для логики повторов
NetworkException, TimeoutException, ApiException и ValidationException наследуются от CapSkipError, поэтому одно выражение except может перехватить всё сразу, или же вы можете обрабатывать каждый тип сбоя по-своему.
Циклы и повторы без доплат
Фиксированная ежемесячная лицензия покрывает каждый вызов ваших скриптов, поэтому цикл повторов, отклонённая отправка формы или парсинг на все выходные никогда не добавят платы за решение.
От браузерного расширения до пакета pip: три пути
# pip install capskip
from capskip import CapSkip
solver = CapSkip(host="127.0.0.1", port=8080)
# recaptcha() covers v2, v3 and Enterprise; turnstile(), geetest()
# and normal() (image CAPTCHAs) follow the same pattern.
result = solver.recaptcha(
sitekey="YOUR_SITEKEY",
url="https://example.com/page-with-recaptcha",
)
print(result["code"]) # token, inject it and submit the formМинимальный блокирующий пример: подключитесь к приложению, передайте sitekey и URL страницы в recaptcha() и перед отправкой прочитайте токен из result['code'].
Расширение для ручной работы в браузере
Расширение для Chrome и Firefox, которое решает капчи прямо на странице без кода. Удобно, когда вы вручную изучаете сайт, прежде чем писать под него скрипт. Для работы нужно запущенное приложение.
Пакет capskip и родственные SDK
pip install capskip даёт Python блокирующий и асинхронный клиенты. Официальные SDK для Node.js, PHP и .NET закрывают остальные части смешанного стека.
Локальный API для уже написанного кода
Старый код на Python под 2Captcha или Anti-Captcha может общаться с CapSkip через эмулятор сервиса, а всё, что умеет работать по HTTP, даже голые вызовы requests, может использовать локальный API.
Испытайте SDK на живой демо-странице reCAPTCHA
Прежде чем направлять скрипт на реальный сайт, прогоните его на нашей демо-странице reCAPTCHA v2. Она загружает настоящий виджет, так что вы сможете убедиться, что обработка sitekey и отправка токена работают от начала до конца.
От установщика до первого решения на Python
-
Установите приложение CapSkip
Установите CapSkip на тот Windows-ПК или VPS, который будет решать капчи. Ваш код на Python может находиться на этой же машине или в любом месте, откуда она доступна по сети. Скачать установщик
-
Активируйте тариф или пробный период
Купите Bronze, Silver или Gold (они отличаются только числом устройств) или воспользуйтесь бесплатным пробным периодом. CapSkip пришлёт данные для входа на почту, и вы сразу введёте их на экране входа в приложение. Сравнить тарифы
-
Установите пакет и вызовите его
В своём virtualenv выполните pip install capskip, создайте клиент, указывающий на адрес и порт приложения, и вызовите метод, соответствующий вашей капче. Читать руководство по SDK
Капча в Python: локальный CapSkip против поштучных 2Captcha и CapSolver
Все три решают капчи для вашего кода на Python. Разница в том, кто выполняет работу, куда уходят ваши данные и как ведёт себя счёт, когда краулер работает всю ночь.
| Функция | CapSkip | 2Captcha / CapSolver |
|---|---|---|
| Оплата | Одна цена в месяц от $35, без платы за решение | Оплата за каждую тысячу решений |
| Где выполняется работа | В приложении, на вашем оборудовании | На удалённых серверах, иногда руками людей |
| Стоимость при росте нагрузки | Тот же счёт при любом объёме | Растёт с каждым решением и повтором |
| Ваши данные | Капчи не покидают вашу машину | Загружаются во внешний сервис |
| Параллельные решения | Без лимита потоков, всё решает ваше железо | Больше пропускной способности, больше счёт |
| Настройка в Python | pip install capskip или ваш прежний клиент 2Captcha | Собственный Python-клиент поставщика |
| Скорость графической капчи | Около 0,1 секунды, локально | Сетевой запрос и очередь для каждой картинки |
Цены
Хватит платить за каждое решение
Выберите лицензию
Лицензия Bronze
$35/ месяц
Мгновенная активация лицензии
Оплата помесячно. Отменить подписку можно в любой момент в личном кабинете.
Функции те же. Больше машин, больше производительность.
Каждая машина решает настолько быстро, насколько позволяют её процессор и память. Больше машин означает больше одновременных потоков, поэтому Silver решает вдвое больше капч одновременно, а Gold втрое больше.
- Безлимитное решение, без дневных ограничений
- Безлимитные потоки, скорость растёт вместе с оборудованием
- Точность распознавания от 90% до 100%
- Прямая замена API основных сервисов распознавания
- Работает почти с любым инструментом, без программирования
- REST API, SDK и расширение для браузера
- Бесплатное обучение, когда появляется новый тип капчи
- Работает на вашей машине, ничего с неё не уходит
Каждый тип капчи, показанный выше, входит в любую лицензию. Посмотреть список типов
Просто хотите сначала попробовать?
Начните с бесплатного 3-дневного пробного периода и решите 500 капч любого типа на своих целевых сайтах.
Похожие сервисы распознавания капчи & руководства
Решение капчи в Python: скрипты на requests, браузеры и Scrapy
То, где появляется капча, определяет, как подключать решатель, а код на Python обычно встречает её в одном из трёх мест.
Обычные HTTP-скрипты. Если вы загружаете страницы через requests или httpx, браузер вообще не нужен. Извлеките sitekey из уже скачанного HTML, запросите у CapSkip токен вместе с URL страницы, а затем отправьте токен с остальными полями формы. Используйте ту же сессию, чтобы cookies оставались согласованными, и отправляйте без промедления: токены reCAPTCHA устаревают примерно через две минуты после создания.
Скрипты на Selenium и Playwright. SDK никогда не управляет браузером, он только выдаёт ответ. Ваш скрипт считывает sitekey с открытой страницы, ждёт решения, записывает токен в скрытое поле ответа одной строкой JavaScript и нажимает кнопку отправки. С асинхронным Playwright клиент AsyncCapSkip позволяет одной вкладке ждать свою капчу, пока остальные продолжают работу.
Пауки Scrapy и краулеры на asyncio. Паук может прочитать sitekey через CSS- или XPath-селектор, решить капчу и вернуть через yield FormRequest с токеном. Для большого асинхронного парсинга объединяйте множество решений через gather с return_exceptions=True, чтобы одна неудачная капча не стоила вам остальных результатов. Дальше скорость парсинга зависит от железа машины с CapSkip, а не от лимитов тарифа.
Руководства по теме: распознавание капчи в Selenium · распознавание капчи в Playwright · параллельное решение капчи на Python
Как автоматически решить капчу на Python?
Поддерживает ли распознавание reCAPTCHA на Python также v3 и Enterprise?
Нужен ли мне собственный код OCR для текстовых капч?
Можно ли запускать много решений одновременно через asyncio?
Как встроить CapSkip в паука Scrapy?
Можно ли использовать CapSkip, если мой код на Python работает на macOS или Linux?
Что pip install capskip устанавливает в моё окружение?
Продолжит ли работать мой текущий Python-клиент для 2Captcha?
Безлимитное распознавание капчи для ваших скриптов на Python
Установите приложение, выполните pip install capskip и направьте на него первый вызов recaptcha() или normal(). Каждое следующее решение, хоть одно, хоть миллион, входит в тот же ежемесячный тариф.
