Как решить текстовую капчу
Поле выше работает как текстовая капча: короткая строка искажённых символов, нанесённых на изображение, которую нужно прочитать и ввести. На этой странице показаны три простых способа решить её и автоматически получить правильные символы: с помощью браузерного расширения CapSkip, в собственном коде через CapSkip SDK или перенаправив в CapSkip сервис распознавания капчи, который уже используют ваши инструменты. CapSkip распознаёт изображение с помощью OCR прямо на устройстве, поэтому нет платы за каждое решение и ничего не покидает вашу машину.
Вариант 1: решите её с помощью расширения для браузера
Самым простым способом одолеть текстовую капчу остаётся Расширение CapSkip для распознавания капчи для Chrome и Firefox. После быстрой одноразовой настройки, которая показывает ему, какое изображение читать и куда вводить, он заполняет ответ за вас, без написания кода.
Установите расширение
Добавьте CapSkip из Chrome Web Store или Firefox Add-ons. Он также работает в Brave, Edge, Opera и Vivaldi.
Запустите приложение CapSkip
Установите и откройте десктопное приложение CapSkip. Оно выполняет распознавание на вашем устройстве и работает в паре с расширением.
Укажите капчу
Для капч-картинок нужен один быстрый шаг. В CapSkip нажмите Выбрать на странице, затем щёлкните по изображению капчи и полю ответа. Это делается только один раз на страницу.
Затем CapSkip считывает символы и заполняет выбранное вами поле, так что вам остаётся только нажать Проверить. Вы также можете привязать его, кликнув по изображению правой кнопкой мыши (Пометить как источник капчи) и поле (Введите ответ на капчу здесь). Эта разовая настройка нужна только для капч с картинками и текстовых капч, а не для reCAPTCHA или Turnstile. См. руководство по настройке.
Вариант 2: решение с помощью CapSkip SDK
Создаёте автоматизацию, парсер или бота? Используйте SDK для распознавания капчи CapSkip чтобы решать текстовые капчи из Python, Node.js, PHP или C#. Вы передаёте изображение капчи в normal() и CapSkip возвращает символы, которые распознаёт. Ни site key, ни URL страницы не нужны, потому что CapSkip работает прямо с изображения.
"captcha.png""https://site.com/captcha.php""data:image/png;base64,..."Прежде чем начать
CapSkip решает капчу локально. Скачайте и запустите Десктопное приложение CapSkip и держите его открытым в фоновом режиме. SDK обращается к нему по 127.0.0.1:8080, поэтому нет обращений к облаку и нет платы за каждое решение.
Установите SDK
Добавьте официальный клиент CapSkip в свой проект.
pip install capskipnpm install capskipcomposer require capskip/capskipdotnet add package CapSkipСчитайте изображение капчи и получите символы
Передайте изображение капчи в normal(). Он принимает путь к файлу, URL изображения или data URI в формате base64. CapSkip выполняет OCR и возвращает символы в виде обычного текста.
from capskip import CapSkip
# Connect to the CapSkip app running on your machine
solver = CapSkip(host="127.0.0.1", port=8080)
# Read the distorted characters from the captcha image
result = solver.normal("captcha.png")
answer = result["code"] # the characters CapSkip read
print(answer)const { CapSkip } = require('capskip');
// Connect to the CapSkip app running on your machine
const solver = new CapSkip({ host: '127.0.0.1', port: 8080 });
(async () => {
// Read the distorted characters from the captcha image
const result = await solver.normal('captcha.png');
const answer = result.code; // the characters CapSkip read
console.log(answer);
})();<?php
require 'vendor/autoload.php';
use CapSkip\CapSkip;
// Connect to the CapSkip app running on your machine
$solver = new CapSkip(['host' => '127.0.0.1', 'port' => 8080]);
// Read the distorted characters from the captcha image
$result = $solver->normal('captcha.png');
$answer = $result['code']; // the characters CapSkip read
echo $answer;using CapSkip;
// Connect to the CapSkip app running on your machine
var solver = new CapSkipClient(host: "127.0.0.1", port: 8080);
// Read the distorted characters from the captcha image
var result = await solver.NormalAsync("captcha.png");
string answer = result.Code; // the characters CapSkip read
Console.WriteLine(answer);Вы получаете символы с изображения, например 5F59R, готовый для ввода в поле.
Используйте ответ: введите его и проверьте
Введите символы в текстовое поле капчи и отправьте. В этом демо это поле называется .captcha-input а кнопка называется .captcha-btn, так что вы можете заполнить и отправить её прямо из браузера.
// 1. Put the recognized characters into the text field
document.querySelector('.captcha-input').value = answer;
// 2. Press the Verify button
document.querySelector('.captcha-btn').click();Использование CapSkip на других сайтах с текстовой капчей
Текстовая капча всегда представляет собой изображение искажённых символов. Чтобы решить её где угодно, возьмите это изображение и передайте его normal() in whichever form is easiest:
- Из
<img>тег: передайте егоsrcпрямо в CapSkip как URL изображения, или щёлкните правой кнопкой и сохраните его как файл. - Из
<canvas>: вызовcanvas.toDataURL()чтобы получить строку base64, а затем передайте её. Это демо рисует свою капчу на<canvas class="captcha-text__canvas">, поэтому здесь подходит base64. - Со скриншота: захватите только элемент капчи и передайте сохранённый файл или его base64.
Решение из изображения base64
Когда капча представляет собой canvas или встроенный data URI, передавайте строку base64 напрямую:
# Grab the canvas in the browser with canvas.toDataURL(), then:
result = solver.normal("data:image/png;base64,iVBORw0KGgo...")
answer = result["code"] # the characters CapSkip read// Grab the canvas in the browser with canvas.toDataURL(), then:
const result = await solver.normal('data:image/png;base64,iVBORw0KGgo...');
const answer = result.code; // the characters CapSkip read// A base64 data URI works anywhere a file path does
$result = $solver->normal('data:image/png;base64,iVBORw0KGgo...');
$answer = $result['code']; // the characters CapSkip read// A base64 data URI works anywhere a file path does
var result = await solver.NormalAsync("data:image/png;base64,iVBORw0KGgo...");
string answer = result.Code; // the characters CapSkip readДля текстовой капчи не нужны ни site key, ни URL страницы. CapSkip читает изображение на вашем собственном устройстве, поэтому это работает даже на офлайн- или внутренних страницах.
Не используете Python, Node.js, PHP или C#? SDK представляют собой всего лишь обёртки над HTTP API CapSkip (стандартный in.php / res.php endpoints), поэтому вы можете решать текстовые капчи из любой язык, фреймворк или инструмент. См. Справочник по Image Captcha API.
Вариант 3: направьте существующий код сервиса-решателя в CapSkip
Уже решаете текстовые капчи через сервис с оплатой за капчу, такой как 2Captcha, Anti-Captcha или CapMonster? Вам не нужно переписывать ни строки. Приложение CapSkip включает эмулятор сервиса который локально говорит на собственных API этих сервисов: выберите используемый сервис, нажмите Добавить в файл hosts, и на каждый запрос, который ваш бот, парсер или готовый инструмент уже отправляет ему, отвечает CapSkip на вашей собственной машине, по фиксированной цене вместо счёта за каждое решение.
Выберите свой сервис
Откройте приложение CapSkip и выберите сервис, с которым уже работает ваш код: 2Captcha, RuCaptcha, Anti-Captcha, CapMonster Cloud, CapSolver, DeathByCaptcha, SolveCaptcha или Captchas.io.
Добавить в файл hosts
Один клик в приложении направляет домен этого сервиса на CapSkip, поэтому вызовы, которые делает ваш инструмент, обрабатываются на вашей машине, а не уходят к платному API.
Запускайте свой инструмент без изменений
Тот же API-ключ, тот же запрос, тот же цикл опроса. CapSkip отвечает в собственном формате этого сервиса, и ваш код получает обратно символы, считанные с изображения.
Ничего из приведённого ниже не меняется при переходе. Это тот же вызов, который ваш код делает сегодня, только теперь текстовые капчи решаются локально, и символы, распознанные с изображения, возвращаются из CapSkip:
POST https://2captcha.com/in.php
key=YOUR_EXISTING_API_KEY
method=base64
body=BASE64_OF_THE_CAPTCHA_IMAGE
GET https://2captcha.com/res.php?key=YOUR_EXISTING_API_KEY&action=get&id=2122988149
OK|W7H4KP the characters CapSkip readКлиентские библиотеки работают так же: в стиле Anti-Captcha createTask / getTaskResult пара, или любая обёртка, построенная на одном из этих сервисов, продолжает работать, как только включён эмулятор. Полный справочник по запросам и ответам находится в Документация по API CapSkip.
Подробнее о решении текстовых капч
Руководства по инструментам и языкам, которые обычно используют вместе с этой демонстрацией.
Об этом демо текстовой капчи
Эта страница работает как живая демо текстовой капчи где вы можете в реальном времени наблюдать, как решается классическая капча на распознавание символов. Текстовая капча показывает короткую строку искажённых символов, нарисованных на картинке, и просит вас прочитать их и ввести обратно. Это один из старейших и самых распространённых типов капчи, который используется для блокировки спама, фейковых регистраций и автоматической отправки форм.
Разработчики, тестировщики и инженеры по автоматизации могут использовать эту тестовую страницу с текстовой капчей, чтобы оценить производительность распознавания капчи на основе OCR, проверить интеграции и изучить, как генерируются и проверяются задачи на распознавание символов. Нужно ли вам решить одну текстовую капчу или автоматизировать тысячи, CapSkip работает как решение для текстовой капчи который работает тремя способами: без кода расширение для распознавания капчи для Chrome и Firefox, и SDK для распознавания капчи для Python, Node.js, PHP и C#, а также готовую эмуляцию сервисов распознавания капчи, за которые вы, возможно, сегодня платите за каждое решение, и всё это с безлимитным решением по единой фиксированной цене. Все три работают на одном и том же десктопном AI распознавание капчи, устанавливается один раз и работает на вашей машине, поэтому ничто не ставится в очередь на удалённом сервере и ничто не тарифицируется за каждое решение.
