Python SDK

Распознавание капчи на Python: решайте капчу в скриптах и парсерах

Выполните pip install capskip, вызывайте по одному методу на каждый тип капчи из обычного или asyncio-кода и получайте токены или текст от приложения CapSkip, работающего на оборудовании под вашим контролем. Никакого счётчика ни на одном этапе.

Windows x64·Работает локально, поэтому капча не покидает ваш компьютер
  • pip install capskip
  • Клиенты sync и asyncio
  • Python 3.10 и новее
капч в месяц40,000
40.0k250.0k
В других сервисах поштучно, примерно $1.40 за 1000$56.00
CapSkip Bronze, фиксированно$35.00
$21.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: три пути

Python
# 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

  1. Установите приложение CapSkip

    Установите CapSkip на тот Windows-ПК или VPS, который будет решать капчи. Ваш код на Python может находиться на этой же машине или в любом месте, откуда она доступна по сети. Скачать установщик

  2. Активируйте тариф или пробный период

    Купите Bronze, Silver или Gold (они отличаются только числом устройств) или воспользуйтесь бесплатным пробным периодом. CapSkip пришлёт данные для входа на почту, и вы сразу введёте их на экране входа в приложение. Сравнить тарифы

  3. Установите пакет и вызовите его

    В своём virtualenv выполните pip install capskip, создайте клиент, указывающий на адрес и порт приложения, и вызовите метод, соответствующий вашей капче. Читать руководство по SDK

Капча в Python: локальный CapSkip против поштучных 2Captcha и CapSolver

Все три решают капчи для вашего кода на Python. Разница в том, кто выполняет работу, куда уходят ваши данные и как ведёт себя счёт, когда краулер работает всю ночь.

ФункцияCapSkip2Captcha / CapSolver
ОплатаОдна цена в месяц от $35, без платы за решениеОплата за каждую тысячу решений
Где выполняется работаВ приложении, на вашем оборудованииНа удалённых серверах, иногда руками людей
Стоимость при росте нагрузкиТот же счёт при любом объёмеРастёт с каждым решением и повтором
Ваши данныеКапчи не покидают вашу машинуЗагружаются во внешний сервис
Параллельные решенияБез лимита потоков, всё решает ваше железоБольше пропускной способности, больше счёт
Настройка в Pythonpip install capskip или ваш прежний клиент 2CaptchaСобственный Python-клиент поставщика
Скорость графической капчиОколо 0,1 секунды, локальноСетевой запрос и очередь для каждой картинки

Цены

Хватит платить за каждое решение

Выберите лицензию

Лицензия Bronze

$35/ месяц

Подписаться на Bronze

Мгновенная активация лицензии

Оплата помесячно. Отменить подписку можно в любой момент в личном кабинете.

Функции те же. Больше машин, больше производительность.

Каждая машина решает настолько быстро, насколько позволяют её процессор и память. Больше машин означает больше одновременных потоков, поэтому 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?
Запустите приложение CapSkip, установите пакет командой pip install capskip и создайте клиент, указав адрес и порт приложения. Затем вызовите метод для нужной капчи: recaptcha() получает sitekey и URL страницы, normal() получает изображение. Ответ попадает в result['code'] и готов к отправке.
Поддерживает ли распознавание reCAPTCHA на Python также v3 и Enterprise?
Да. recaptcha() обрабатывает v2 с чекбоксом, невидимую и callback-версии, а также v3 и Enterprise. Для v3 укажите метку action, которую использует целевая страница, затем отправьте токен так же, как для v2. Конкретный балл v3 не гарантируется: результат зависит от сайта, вашего IP и темпа запросов.
Нужен ли мне собственный код OCR для текстовых капч?
Нет. Передайте normal() сохранённый файл, ссылку на изображение, строку base64 или data URI. Распознанные символы появляются в result['code'] почти мгновенно, примерно за 0,1 секунды на картинку, и вам не нужно обучать или настраивать модель. Если необычный тип картинок распознаётся плохо, CapSkip бесплатно обучит распознавание под него.
Можно ли запускать много решений одновременно через asyncio?
Да. AsyncCapSkip повторяет имена методов блокирующего клиента, но каждое решение является корутиной, поэтому asyncio.gather может держать десятки решений в работе из одного цикла событий. Добавьте return_exceptions=True, и неудачное решение вернётся в списке результатов как объект исключения, а не будет выброшено, так что все остальные ответы вы всё равно получите.
Как встроить CapSkip в паука Scrapy?
Scrapy для этого не нужен браузер. В методе parse прочитайте sitekey из ответа через CSS- или XPath-селектор, решите капчу через SDK и верните через yield FormRequest с токеном в поле, названном так, как требует целевая форма. Капчи-картинки обрабатываются по той же схеме через normal().
Можно ли использовать CapSkip, если мой код на Python работает на macOS или Linux?
Да. Windows нужна только приложению CapSkip. Установите его на компьютер с Windows или Windows VPS, включите серверный режим, чтобы оно слушало сеть, и создайте клиент, указав адрес этой машины в качестве host. После этого ваш скрипт может оставаться на Mac, Linux-сервере или там, где он уже работает.
Что pip install capskip устанавливает в моё окружение?
Пакету нужен Python 3.10 или новее. Он подтягивает requests для блокирующего клиента и httpx для асинхронного, а они и так есть в большинстве проектов для парсинга. Пакет распространяется под лицензией MIT, поэтому подходит и для личных проектов, и для корпоративного кода, и для CI-конвейеров.
Продолжит ли работать мой текущий Python-клиент для 2Captcha?
Да, если клиент и CapSkip работают на одном компьютере с Windows. Переключите CapSkip на эмулятор 2Captcha и нажмите кнопку Add рядом с Hosts file: запросы, которые ваша текущая библиотека отправляет в 2Captcha, будут обрабатываться локально для тех типов капчи, которые поддерживает CapSkip. Anti-Captcha, CapSolver и другие эмулируемые сервисы работают так же.

Безлимитное распознавание капчи для ваших скриптов на Python

Установите приложение, выполните pip install capskip и направьте на него первый вызов recaptcha() или normal(). Каждое следующее решение, хоть одно, хоть миллион, входит в тот же ежемесячный тариф.