تستخدم مواقع الويب الصينية أنواع CAPTCHA التي نادرًا ما نراها في الأسواق الغربية - اختبارات CAPTCHA للصور ذات الأحرف الصينية، والألغاز الحسابية بلغة الماندرين، وعمليات التحقق من الشرائح GeeTest، ومقدمي الخدمات المملوكة مثل Tencent CAPTCHA. إذا كنت تجمع بيانات من بايدو، أو تاوباو، أو البوابات الحكومية، أو قواعد البيانات الأكاديمية، فأنت بحاجة إلى التعامل مع هذه التحديات الخاصة بكل منطقة.
أنواع CAPTCHA الشائعة على المواقع الصينية
نوع التحقق
حيث تستخدم
CaptchaAI
صورة الحرف الصيني
البوابات الحكومية وقواعد البيانات الأكاديمية
Image/OCR مع language=chi_sim
الحساب باللغة الصينية
نماذج التسجيل
Image/OCR
GeeTest v3 لغز الشريحة
بايدو، بيليبيلي، والعديد من المنصات الرئيسية
GeeTest v3
انقر على الحرف
"انقر فوق الحرف الصيني بالترتيب"
Image/OCR (وضع الإحداثيات)
reCAPTCHA v2
المواقع الصينية العالمية
reCAPTCHA v2
بايثون: صورة الأحرف الصينية CAPTCHA
تعرض اختبارات CAPTCHA للصور الصينية أحرفًا مثل 请输入验è¯ç (يُرجى إدخال رمز التحقق) وتتطلب التعرف الضوئي على الحروف للنص الصيني.
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 الصيني
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}`);
نصائح لتقطيع المواقع الصينية
التحدي
الحل
يتم عرض الأحرف بشكل غير صحيح
تأكد من ترميز UTF-8 في الطلبات والاستجابات
ملفات تعريف الارتباط للجلسة مطلوبة
قم بإحضار صورة CAPTCHA خلال نفس الجلسة
معلمات GeeTest في JavaScript
قم باستخراج gt وchallenge من البرامج النصية للصفحة أو استدعاءات واجهة برمجة التطبيقات (API).
تحديد المعدل بواسطة شبكات CDN الصينية
استخدم الوكلاء بعناوين IP الصينية للحصول على موثوقية أفضل
يتم تحديث اختبار CAPTCHA عند كل عملية تحميل
قم بتنزيل الصورة مرة واحدة، وحلها، ثم إرسالها - ولا تقم بإعادة التحميل
استكشاف الأخطاء وإصلاحها
المشكلة
السبب
الإجراء
تظهر اختبارات CAPTCHA كثيرة خلال فترة قصيرة
إيقاع الجمع أو مستوى التوازي أعلى من اللازم بالنسبة للمصدر
خفّض التكرار وحافظ على استقرار الجلسات وراجع جودة الوكيل
البيانات ناقصة حتى بعد حل CAPTCHA
أداة الاستخراج تقرأ عرضًا قديمًا أو غير مكتمل
استخرج البيانات بعد تطبيق الرمز المميز داخل الجلسة نفسها
ترتفع التكلفة أسرع من المتوقع
تؤدي كثرة إعادة المحاولات أو الصفحات غير الضرورية إلى تحديات إضافية
اقصر الحل على الخطوات الحرجة وتتبع إعادة المحاولات لكل مصدر
دليل عملي لأتمتة إرسال النماذج المحمية بـ CAPTCHA عبر Selenium: اكتشف نوع الاختبار، حلّه بـ Captcha AI، ثم احقن الرمز قبل الإرسال مع أمثلة Python جاهزة.
دليل عملي لأتمتة إرسال النماذج المحمية بـ CAPTCHA عبر Selenium: اكتشف نوع الاختبار، حلّه بـ Captcha AI، ثم احق...
Apr 19, 2026
دروس API
دليل عملي لتقليل زمن استجابة Captcha AI API: اضبط الاستطلاع الدوري، وأعد استخدام الاتصالات، واجلب الرموز مسبقاً، واستخدم pingback للحصول على حلول أسرع.
دليل عملي لتقليل زمن استجابة Captcha AI API: اضبط الاستطلاع الدوري، وأعد استخدام الاتصالات، واجلب الرموز مسبقا...
May 10, 2026
حالات الاستخدام
دليل عملي لأتمتة جمع عروض أسعار التأمين من عدة شركات: حلّ re CAPTCHA واختبارات الصور عبر Captcha AI مع الحفاظ على جلسات ثابتة على امتداد خطوات التسعير.
دليل عملي لأتمتة جمع عروض أسعار التأمين من عدة شركات: حلّ re CAPTCHA واختبارات الصور عبر Captcha AI مع الحفاظ...
Jun 15, 2026
حالات الاستخدام
اجمع بيانات الرعاية الصحية العامة — أدلة الأطباء وأسعار الأدوية والتجارب السريرية — من بوابات محمية بـ re CAPTCHA v 2 وصور CAPTCHA عبر أمثلة Python مع Captcha A...
اجمع بيانات الرعاية الصحية العامة — أدلة الأطباء وأسعار الأدوية والتجارب السريرية — من بوابات محمية بـ re CAPT...
Jun 10, 2026
حالات الاستخدام
تعرّف على أتمتة البوابات الحكومية وحل اختبارات CAPTCHA مثل BLS وre CAPTCHA v 2 والصور خطوة بخطوة، مع أمثلة Python عملية وإدارة الجلسات والوكلاء عبر Captcha AI.
تعرّف على أتمتة البوابات الحكومية وحل اختبارات CAPTCHA مثل BLS وre CAPTCHA v 2 والصور خطوة بخطوة، مع أمثلة Pyt...
Jun 06, 2026
حالات الاستخدام
دليل عملي حول استخراج أسعار الشحن والخدمات اللوجستية باستخدام حل اختبار CAPTCHA يشرح السيناريوهات الواقعية ونمط التشغيل الآمن والخطوات التي تجعل هذا المسار قابل...