Боты автоматизации выполняют повторяющиеся задачи — отправку форм, создание учетной записи, ввод данных, мониторинг. 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