Use Cases

Автоматизация обработки CAPTCHA ботом с помощью CaptchaAI

Боты автоматизации выполняют повторяющиеся задачи — отправку форм, создание учетной записи, ввод данных, мониторинг. CAPTCHA прерывает эти рабочие процессы. CaptchaAI решает CAPTCHA программно, поэтому ваши боты работают без вмешательства человека.

Распространенные сценарии автоматизации

Сценарий Типичная капча CaptchaAI Метод
Отправка формы reCAPTCHA v2 method=userrecaptcha
Регистрация аккаунта reCAPTCHA v2/v3 method=userrecaptcha
Порталы ввода данных Капча изображения method=base64
Бронирование/reservation Cloudflare Turnstile method=turnstile
Доступ к API-шлюзу страница Cloudflare-защиты в staging method=turnstile

Общая платформа ботов

Создайте многоразовую структуру ботов для решения CAPTCHA:

import requests
import time
import logging

logger = logging.getLogger(__name__)

class CaptchaBot:
    def __init__(self, api_key):
        self.api_key = api_key
        self.session = requests.Session()
        self.session.headers.update({
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
        })

    def solve(self, method, **params):
        """Solve any CAPTCHA type."""
        params["key"] = self.api_key
        params["method"] = method

        resp = requests.get("https://ocr.captchaai.com/in.php", params=params)
        if not resp.text.startswith("OK|"):
            raise Exception(f"Submit error: {resp.text}")

        task_id = resp.text.split("|")[1]
        logger.info(f"Task submitted: {task_id}")

        for _ in range(60):
            time.sleep(5)
            result = requests.get("https://ocr.captchaai.com/res.php", params={
                "key": self.api_key, "action": "get", "id": task_id
            })
            if result.text == "CAPCHA_NOT_READY": continue
            if result.text.startswith("OK|"): return result.text.split("|")[1]
            raise Exception(f"Error: {result.text}")

        raise TimeoutError("CAPTCHA solve timed out")

    def submit_form(self, url, form_data, captcha_field="g-recaptcha-response",
                    site_key=None, captcha_method="userrecaptcha"):
        """Submit a form with CAPTCHA solving."""
        if site_key:
            if captcha_method == "userrecaptcha":
                token = self.solve(captcha_method, googlekey=site_key, pageurl=url)
            elif captcha_method == "turnstile":
                token = self.solve(captcha_method, sitekey=site_key, pageurl=url)
            form_data[captcha_field] = token

        return self.session.post(url, data=form_data)

Пример: бот для отправки форм

bot = CaptchaBot("YOUR_API_KEY")

# Submit a contact form protected by reCAPTCHA
result = bot.submit_form(
    url="https://example.com/contact",
    form_data={
        "name": "John Doe",
        "email": "john@example.com",
        "message": "Inquiry about your service"
    },
    site_key="6Le-wvkS...",
    captcha_method="userrecaptcha"
)

print(f"Form submitted: {result.status_code}")

Пример: бот многоэтапного рабочего процесса

def appointment_booking_bot(date, time_slot, user_info):
    bot = CaptchaBot("YOUR_API_KEY")

    # Step 1: Load booking page
    page = bot.session.get("https://example.com/book")

    # Step 2: Select date and time
    resp = bot.session.post("https://example.com/book/select", data={
        "date": date,
        "time": time_slot
    })

    # Step 3: Fill personal info with CAPTCHA
    result = bot.submit_form(
        url="https://example.com/book/confirm",
        form_data={
            "name": user_info["name"],
            "email": user_info["email"],
            "phone": user_info["phone"],
            "date": date,
            "time": time_slot
        },
        site_key="6Le-wvkS...",
        captcha_method="userrecaptcha"
    )

    return result.status_code == 200

# Run
success = appointment_booking_bot(
    date="2025-02-15",
    time_slot="10:00",
    user_info={"name": "John Doe", "email": "john@example.com", "phone": "555-0100"}
)

Пример: бот для ввода данных с изображением CAPTCHA

import base64

def data_entry_bot(entries, captcha_image_url):
    bot = CaptchaBot("YOUR_API_KEY")

    for entry in entries:
        # Load the form page
        page = bot.session.get("https://portal.example.com/entry")

        # Download and solve image CAPTCHA
        img = bot.session.get(captcha_image_url)
        img_b64 = base64.b64encode(img.content).decode()
        captcha_text = bot.solve("base64", body=img_b64)

        # Submit entry
        resp = bot.session.post("https://portal.example.com/entry", data={
            **entry,
            "captcha": captcha_text
        })

        logger.info(f"Entry submitted: {resp.status_code}")
        time.sleep(random.uniform(2, 5))

Платформа ботов Node.js

const axios = require("axios");

class CaptchaBot {
  constructor(apiKey) {
    this.apiKey = apiKey;
  }

  async solve(method, params) {
    params.key = this.apiKey;
    params.method = method;

    const submit = await axios.get("https://ocr.captchaai.com/in.php", {
      params,
    });
    const taskId = submit.data.split("|")[1];

    while (true) {
      await new Promise((r) => setTimeout(r, 5000));
      const result = await axios.get("https://ocr.captchaai.com/res.php", {
        params: { key: this.apiKey, action: "get", id: taskId },
      });
      if (result.data === "CAPCHA_NOT_READY") continue;
      if (result.data.startsWith("OK|")) return result.data.split("|")[1];
      throw new Error(result.data);
    }
  }

  async submitForm(url, formData, siteKey, method = "userrecaptcha") {
    const token = await this.solve(method, {
      googlekey: siteKey,
      pageurl: url,
    });
    formData["g-recaptcha-response"] = token;

    return axios.post(url, new URLSearchParams(formData));
  }
}

// Usage
const bot = new CaptchaBot("YOUR_API_KEY");
const result = await bot.submitForm(
  "https://example.com/submit",
  { name: "John", email: "john@example.com" },
  "6Le-wvkS..."
);

Поиск неисправностей

Проблема Исправить
Токен CAPTCHA отклонен Используйте токен в течение 120 секунд после решения.
Бот обнаружен, несмотря на действительный токен Добавьте скрытые заголовки и задержки запросов
Форма требует дополнительных полей Проверьте источник формы на наличие скрытых полей (токены CSRF).
Ставка ограничена при повторных отправках Добавляйте задержки и меняйте прокси

Часто задаваемые вопросы

Могут ли боты-автоматизаторы обрабатывать любой тип CAPTCHA?

С CaptchaAI да. API поддерживает reCAPTCHA (все версии), Cloudflare Turnstile, GeeTest, hCaptcha, CAPTCHA для изображений и многое другое. Вашей платформе бота просто нужно определить тип и вызвать правильный метод.

Как запустить ботов 24/7?

Используйте инструменты планирования (cron, планировщик задач, systemd) или развертывайте функции в облаке. API CaptchaAI доступен 24/7 с временем безотказной работы 99,9%+.

А как насчет ботов, которым необходимо обрабатывать антиботы помимо CAPTCHA?

Объедините CaptchaAI со стандартная конфигурация браузера-браузерами (необнаруженный-chromedriver, puppeteer-extra). CaptchaAI обрабатывает уровень CAPTCHA; скрытые инструменты обеспечивают обнаружение сигналы браузера.

Связанные руководства

  • Автоматический вход в систему, обработка CAPTCHA
  • Скрипты автоматизации CAPTCHA
  • Драматург Обработка CAPTCHA
Комментарии для этой статьи отключены.

Похожие сообщения

API Tutorials Bash Script + cURL + CaptchaAI: автоматизация Shell CAPTCHA
Пошаговое руководство по Bash Script + c URL + Captcha AI: автоматизация Shell CAPTCHA, с примерами многократного использования и понятным рабочим процессом Cap...

Пошаговое руководство по Bash Script + c URL + Captcha AI: автоматизация Shell CAPTCHA, с примерами многократн...

Apr 25, 2026
Tutorials Обработка CAPTCHA в приложениях Flask с помощью CaptchaAI
Пошаговое руководство по Обработке CAPTCHA в приложениях Flask с помощью Captcha AI, с примерами прямого повторного использования и понятным рабочим процессом C...

Пошаговое руководство по Обработке CAPTCHA в приложениях Flask с помощью Captcha AI, с примерами прямого повто...

May 04, 2026
Tutorials Кеширование CAPTCHA-токенов в собственном backend в пределах TTL
Корректно кешируйте и переиспользуйте CAPTCHA-токены в пределах официального TTL для идемпотентных ретраев в собственном backend.

Корректно кешируйте и переиспользуйте CAPTCHA-токены в пределах официального TTL для идемпотентных ретраев в с...

May 02, 2026