Chinesische Websites verwenden CAPTCHA-Typen, die in westlichen Märkten selten zu finden sind – Bild-CAPTCHAs mit chinesischen Schriftzeichen, Rechenrätsel auf Mandarin, GeeTest-Folienüberprüfungen und proprietäre Anbieter wie Tencent CAPTCHA. Wenn Sie Daten von Baidu, Taobao, Regierungsportalen oder akademischen Datenbanken sammeln, müssen Sie diese regionalspezifischen Herausforderungen bewältigen.
Gängige CAPTCHA-Typen auf chinesischen Websites
CAPTCHA-Typ
Wo verwendet
CaptchaAI-Löser
Chinesisches Schriftzeichenbild
Regierungsportale, akademische Datenbanken
Bild/OCR mit language=chi_sim
Arithmetik auf Chinesisch
Anmeldeformulare
Bild/OCR
GeeTest v3 Schiebepuzzle
Baidu, Bilibili, viele große Plattformen
GeeTest v3
Click-on-Charakter
„Klicken Sie der Reihe nach auf das chinesische Schriftzeichen“
Image/OCR (Koordinatenmodus)
reCAPTCHA v2
Internationale chinesische Websites
reCAPTCHA v2
Python: Bild-CAPTCHA für chinesische Schriftzeichen
Chinesische Bild-CAPTCHAs zeigen Zeichen wie 请输入验è¯ç an (bitte geben Sie den Bestätigungscode ein) und erfordern OCR von chinesischem Text.
import requests
import base64
import time
API_KEY = "YOUR_API_KEY"
SUBMIT_URL = "https://ocr.captchaai.com/in.php"
RESULT_URL = "https://ocr.captchaai.com/res.php"
def solve_chinese_image_captcha(image_path: str) -> str:
"""Solve a Chinese character image CAPTCHA."""
with open(image_path, "rb") as f:
image_b64 = base64.b64encode(f.read()).decode()
resp = requests.post(SUBMIT_URL, data={
"key": API_KEY,
"method": "base64",
"body": image_b64,
"language": 2, # 2 = Chinese characters supported
"json": 1,
}, timeout=30).json()
if resp.get("status") != 1:
raise RuntimeError(f"Submit failed: {resp.get('request')}")
task_id = resp["request"]
start = time.monotonic()
while time.monotonic() - start < 120:
time.sleep(5)
poll = requests.get(RESULT_URL, params={
"key": API_KEY, "action": "get",
"id": task_id, "json": 1,
}, timeout=15).json()
if poll.get("request") == "CAPCHA_NOT_READY":
continue
if poll.get("status") == 1:
return poll["request"]
raise RuntimeError(f"Solve failed: {poll.get('request')}")
raise RuntimeError("Timeout")
def solve_chinese_captcha_from_url(captcha_url: str, cookies: dict = None) -> str:
"""Download and solve a Chinese CAPTCHA from a URL."""
session = requests.Session()
if cookies:
session.cookies.update(cookies)
resp = session.get(captcha_url, timeout=15)
image_b64 = base64.b64encode(resp.content).decode()
submit = requests.post(SUBMIT_URL, data={
"key": API_KEY,
"method": "base64",
"body": image_b64,
"language": 2,
"json": 1,
}, timeout=30).json()
if submit.get("status") != 1:
raise RuntimeError(f"Submit: {submit.get('request')}")
task_id = submit["request"]
for _ in range(24):
time.sleep(5)
poll = requests.get(RESULT_URL, params={
"key": API_KEY, "action": "get", "id": task_id, "json": 1,
}, timeout=15).json()
if poll.get("request") == "CAPCHA_NOT_READY":
continue
if poll.get("status") == 1:
return poll["request"]
raise RuntimeError(f"Solve: {poll.get('request')}")
raise RuntimeError("Timeout")
# --- GeeTest on Chinese platforms ---
def solve_geetest_chinese(gt: str, challenge: str, pageurl: str) -> dict:
"""Solve GeeTest v3 commonly found on Baidu, Bilibili, etc."""
resp = requests.post(SUBMIT_URL, data={
"key": API_KEY,
"method": "geetest",
"gt": gt,
"challenge": challenge,
"pageurl": pageurl,
"json": 1,
}, timeout=30).json()
if resp.get("status") != 1:
raise RuntimeError(f"Submit: {resp.get('request')}")
task_id = resp["request"]
for _ in range(36):
time.sleep(5)
poll = requests.get(RESULT_URL, params={
"key": API_KEY, "action": "get", "id": task_id, "json": 1,
}, timeout=15).json()
if poll.get("request") == "CAPCHA_NOT_READY":
continue
if poll.get("status") == 1:
# GeeTest returns challenge, validate, seccode
return poll["request"]
raise RuntimeError(f"Solve: {poll.get('request')}")
raise RuntimeError("Timeout")
# Usage — Chinese government portal
text = solve_chinese_image_captcha("chinese_captcha.png")
print(f"Chinese CAPTCHA text: {text}")
# GeeTest on a Chinese platform
geetest_result = solve_geetest_chinese(
gt="b46d1900d0a894591f1561f8c35670a7",
challenge="dynamic_challenge_string",
pageurl="https://www.example.cn/login",
)
JavaScript: CAPTCHA-Flow für chinesische Websites
const API_KEY = "YOUR_API_KEY";
const SUBMIT_URL = "https://ocr.captchaai.com/in.php";
const RESULT_URL = "https://ocr.captchaai.com/res.php";
const fs = require("fs");
async function solveChineseImageCaptcha(imagePath) {
const imageB64 = fs.readFileSync(imagePath, "base64");
const body = new URLSearchParams({
key: API_KEY,
method: "base64",
body: imageB64,
language: "2",
json: "1",
});
const resp = await (await fetch(SUBMIT_URL, { method: "POST", body })).json();
if (resp.status !== 1) throw new Error(`Submit: ${resp.request}`);
const taskId = resp.request;
for (let i = 0; i < 24; i++) {
await new Promise((r) => setTimeout(r, 5000));
const url = `${RESULT_URL}?key=${API_KEY}&action=get&id=${taskId}&json=1`;
const poll = await (await fetch(url)).json();
if (poll.request === "CAPCHA_NOT_READY") continue;
if (poll.status === 1) return poll.request;
throw new Error(`Solve: ${poll.request}`);
}
throw new Error("Timeout");
}
async function solveGeeTest(gt, challenge, pageurl) {
const body = new URLSearchParams({
key: API_KEY,
method: "geetest",
gt,
challenge,
pageurl,
json: "1",
});
const resp = await (await fetch(SUBMIT_URL, { method: "POST", body })).json();
if (resp.status !== 1) throw new Error(`Submit: ${resp.request}`);
const taskId = resp.request;
for (let i = 0; i < 36; i++) {
await new Promise((r) => setTimeout(r, 5000));
const url = `${RESULT_URL}?key=${API_KEY}&action=get&id=${taskId}&json=1`;
const poll = await (await fetch(url)).json();
if (poll.request === "CAPCHA_NOT_READY") continue;
if (poll.status === 1) return poll.request;
throw new Error(`Solve: ${poll.request}`);
}
throw new Error("Timeout");
}
// Usage
const text = await solveChineseImageCaptcha("chinese_captcha.png");
console.log(`Chinese text: ${text}`);
Tipps für chinesisches Website-Scraping
Herausforderung
Lösung
Zeichen werden falsch gerendert
Stellen Sie die UTF-8-Kodierung in Anfragen und Antworten sicher
Sitzungscookies erforderlich
Rufen Sie das CAPTCHA-Bild innerhalb derselben Sitzung ab
GeeTest-Parameter in JavaScript
Extrahieren Sie gt und challenge aus Seitenskripten oder API-Aufrufen
Ratenbegrenzung durch chinesische CDNs
Verwenden Sie Proxys mit chinesischen IP-Adressen für eine bessere Zuverlässigkeit
CAPTCHA wird bei jedem Ladevorgang aktualisiert
Laden Sie das Bild einmal herunter, lösen Sie es und senden Sie es dann ab – laden Sie es nicht erneut
Fehlerbehebung
Problem
Ursache
Lösung
Zu viele CAPTCHAs in kurzer Zeit
Abrufrate oder Parallelität ist für die Quelle zu aggressiv
Drossele Intervalle, halte Sessions stabil und prüfe die Qualität deiner Proxys
Daten fehlen trotz gelöster CAPTCHA
Der Parser liest eine alte oder unvollständige Ansicht aus
Extrahiere Daten erst nach erfolgreicher Token-Anwendung in derselben Sitzung
Kosten steigen stärker als erwartet
Zu viele Wiederholungen oder unnötige Seitenaufrufe lösen zusätzliche Challenges aus
Löse nur kritische Schritte und protokolliere Wiederholungen pro Quelle
Verwandte Leitfäden
CAPTCHAs auf japanischen und koreanischen Websites lösen
re CAPTCHA v 2, Cloudflare Turnstile und Bild-CAPTCHAs auf Webformularen mit Selenium und Captcha AI lösen – Felder ausfüllen, Token eintragen, Formular absende...
re CAPTCHA v 2, Cloudflare Turnstile und Bild-CAPTCHAs auf Webformularen mit Selenium und Captcha AI lösen – F...
May 02, 2026
Anwendungsfälle
Rechtsdatenbanken, Gerichtsakten und Rechtsprechung automatisiert abrufen: re CAPTCHA v 2 und Bild-CAPTCHAs auf Rechtsportalen mit Captcha AI in Python lösen.
Rechtsdatenbanken, Gerichtsakten und Rechtsprechung automatisiert abrufen: re CAPTCHA v 2 und Bild-CAPTCHAs au...
Jul 03, 2026
Anwendungsfälle
Behördenportale automatisiert testen und abfragen: re CAPTCHA v 2, BLS- und Bild-CAPTCHAs auf Visa Gerichts- und Registerportalen mit Captcha AI in Python verar...
Behördenportale automatisiert testen und abfragen: re CAPTCHA v 2, BLS- und Bild-CAPTCHAs auf Visa Gerichts- u...
Jun 29, 2026
Anwendungsfälle
Spediteur-Tarife und Sendungsdaten automatisiert scrapen: re CAPTCHA v 2, Cloudflare Turnstile und Bild-CAPTCHAs auf Frachtportalen mit Captcha AI lösen.
Spediteur-Tarife und Sendungsdaten automatisiert scrapen: re CAPTCHA v 2, Cloudflare Turnstile und Bild-CAPTCH...
Jun 10, 2026
Anwendungsfälle
CAPTCHA-geschützte Lieferantenportale automatisiert überwachen: re CAPTCHA v 2, Cloudflare Turnstile und Bild-CAPTCHAs per API lösen und Bestände live erfassen.
CAPTCHA-geschützte Lieferantenportale automatisiert überwachen: re CAPTCHA v 2, Cloudflare Turnstile und Bild-...
Jun 08, 2026
Anwendungsfälle
Angebotsvergleiche über mehrere Versicherer automatisiert testen: re CAPTCHA v 2, v 3 und Bild-CAPTCHAs auf Tarifrechnern mit Captcha AI per API lösen.
Diskussionen (0)
Beteiligen Sie sich an der Unterhaltung
Melden Sie sich an, um Ihre Meinung zu teilen.
AnmeldenNoch keine Kommentare.