API Tutorials

Hướng dẫn BLS CAPTCHA và tham số mã Tìm hiểu sâu

BLS CAPTCHA sử dụng các thông số cụ thể để gửi thử thách. Hiểu instructions, code và cách xử lý phản hồi là rất quan trọng để giải quyết một cách đáng tin cậy.


Tham khảo thông số BLS CAPTCHA

tham số Bắt buộc loại Mô tả
method chuỗi Phải là bls
sitekey chuỗi Khóa BLS CAPTCHA của trang web
pageurl chuỗi URL của trang hiển thị CAPTCHA
instructions Không chuỗi Hướng dẫn văn bản từ hình ảnh CAPTCHA
code Không chuỗi Mã BLS CAPTCHA/type mã định danh
json Không số nguyên Đặt thành 1 cho phản hồi JSON

Trích xuất tham số BLS

# extract_bls.py
import re
from selenium import webdriver
from selenium.webdriver.common.by import By

def extract_bls_params(url):
    """Extract BLS CAPTCHA parameters from a page."""
    driver = webdriver.Chrome()
    driver.get(url)

    params = {"pageurl": url}

    # Extract sitekey
    captcha_el = driver.find_element(By.CSS_SELECTOR, "[data-sitekey], .bls-captcha")
    sitekey = captcha_el.get_attribute("data-sitekey")
    if sitekey:
        params["sitekey"] = sitekey

    # Extract instructions if visible
    try:
        instructions_el = driver.find_element(
            By.CSS_SELECTOR, ".captcha-instructions, .captcha-text"
        )
        params["instructions"] = instructions_el.text.strip()
    except Exception:
        pass

    # Extract code from hidden input or script
    page_source = driver.page_source
    code_match = re.search(r'captcha_code["\']?\s*[:=]\s*["\']([^"\']+)', page_source)
    if code_match:
        params["code"] = code_match.group(1)

    driver.quit()
    return params

# Usage
params = extract_bls_params("https://bls-example.com/appointment")
print(params)

Đang gửi BLS CAPTCHA tới CaptchaAI

Đệ trình cơ bản

# solve_bls_basic.py
import requests
import time
import os

def solve_bls(sitekey, pageurl, instructions=None, code=None):
    """Solve BLS CAPTCHA via CaptchaAI API."""
    api_key = os.environ["CAPTCHAAI_API_KEY"]

    payload = {
        "key": api_key,
        "method": "bls",
        "sitekey": sitekey,
        "pageurl": pageurl,
        "json": 1,
    }

    # Add optional parameters for higher accuracy
    if instructions:
        payload["instructions"] = instructions
    if code:
        payload["code"] = code

    resp = requests.post(
        "https://ocr.captchaai.com/in.php",
        data=payload,
        timeout=30,
    )
    result = resp.json()

    if result.get("status") != 1:
        raise RuntimeError(f"Submit failed: {result.get('request')}")

    task_id = result["request"]

    # Poll for result
    time.sleep(10)
    for _ in range(30):
        resp = requests.get("https://ocr.captchaai.com/res.php", params={
            "key": api_key,
            "action": "get",
            "id": task_id,
            "json": 1,
        }, timeout=15)
        data = resp.json()

        if data.get("status") == 1:
            return data["request"]
        if data["request"] != "CAPCHA_NOT_READY":
            raise RuntimeError(data["request"])
        time.sleep(5)

    raise TimeoutError("BLS solve timeout")

# Usage
solution = solve_bls(
    sitekey="your-bls-sitekey",
    pageurl="https://bls-example.com/appointment",
    instructions="Select images in the correct order",
)
print(f"Solution: {solution}")

Thông số hướng dẫn

Tham số instructions cho CaptchaAI biết CAPTCHA đang yêu cầu gì. Điều này cải thiện độ chính xác khi văn bản thử thách không được nhúng vào hình ảnh.

# Common BLS instruction patterns:
instructions_examples = [
    "Select images in the correct order",
    "Click the images in order from left to right",
    "Arrange the images by number",
    "Select the matching image",
    "Click in the order shown",
]

# Extract instructions from the CAPTCHA image area
def get_instructions_from_page(driver):
    """Try multiple selectors to find instruction text."""
    selectors = [
        ".captcha-instructions",
        ".bls-captcha-text",
        "#captcha-prompt",
        ".challenge-text",
    ]

    for sel in selectors:
        try:
            el = driver.find_element(By.CSS_SELECTOR, sel)
            text = el.text.strip()
            if text:
                return text
        except Exception:
            continue

    return None

Thông số mã

Tham số code chỉ định biến thể BLS CAPTCHA. Một số triển khai BLS sử dụng các loại thử thách khác nhau được xác định bằng mã.

# Detect BLS CAPTCHA code from page
def detect_bls_code(page_source):
    """Detect which BLS CAPTCHA code/type is being used."""
    patterns = [
        (r'captchaType["\']?\s*[:=]\s*["\'](\w+)', "captchaType"),
        (r'data-captcha-code["\']?\s*=\s*["\'](\w+)', "data attribute"),
        (r'bls_code["\']?\s*[:=]\s*["\'](\w+)', "bls_code"),
    ]

    for pattern, source in patterns:
        match = re.search(pattern, page_source)
        if match:
            return match.group(1)

    return None

Hoàn thành quy trình BLS với Selenium

# full_bls_flow.py
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import os
import re

def solve_bls_with_selenium(url, form_data=None):
    """Complete BLS CAPTCHA flow using Selenium."""
    driver = webdriver.Chrome()
    driver.get(url)

    wait = WebDriverWait(driver, 15)

    # Fill any form fields before CAPTCHA
    if form_data:
        for field_id, value in form_data.items():
            el = wait.until(EC.presence_of_element_located((By.ID, field_id)))
            el.clear()
            el.send_keys(value)

    # Extract CAPTCHA parameters
    captcha_container = wait.until(
        EC.presence_of_element_located((By.CSS_SELECTOR, "[data-sitekey], .bls-captcha"))
    )
    sitekey = captcha_container.get_attribute("data-sitekey")

    # Get instructions
    instructions = None
    try:
        inst_el = driver.find_element(By.CSS_SELECTOR, ".captcha-instructions")
        instructions = inst_el.text.strip()
    except Exception:
        pass

    # Solve via API
    solution = solve_bls(
        sitekey=sitekey,
        pageurl=driver.current_url,
        instructions=instructions,
    )

    # Inject solution
    driver.execute_script("""
        var input = document.querySelector('input[name="captcha-response"], #captcha-response');
        if (input) {
            input.value = arguments[0];
        } else {
            var hidden = document.createElement('input');
            hidden.type = 'hidden';
            hidden.name = 'captcha-response';
            hidden.value = arguments[0];
            document.forms[0].appendChild(hidden);
        }
    """, solution)

    # Submit form
    submit_btn = driver.find_element(By.CSS_SELECTOR, "button[type='submit'], #submit")
    submit_btn.click()

    # Wait for confirmation
    wait.until(EC.url_changes(url))
    result_url = driver.current_url
    driver.quit()

    return result_url

Khắc phục sự cố

Vấn đề Nguyên nhân Cách xử lý
ERROR_BAD_PARAMETERS Thiếu sitekey hoặc pageurl Xác minh cả hai đều được trích xuất chính xác
Giải pháp bị từ chối Hướng dẫn không được thông qua Bao gồm tham số instructions cho những thử thách không rõ ràng
Loại CAPTCHA sai Không phải là BLS CAPTCHA Kiểm tra xem đó thực sự là reCAPTCHA hay một loại tùy chỉnh
Không tìm thấy sitekey Tải động Đợi phần tử CAPTCHA hiển thị trước khi giải nén

Câu hỏi thường gặp

Hướng dẫn có luôn luôn cần thiết không?

Không. CaptchaAI có thể giải hầu hết các BLS CAPTCHA mà không cần hướng dẫn. Tuy nhiên, việc chuyển hướng dẫn sẽ cải thiện độ chính xác cho những thách thức không rõ ràng.

Điều gì sẽ xảy ra nếu tham số mã thay đổi giữa các phiên?

Giải nén lại nó mỗi lần. Mã có thể thay đổi dựa trên phiên hoặc vị trí địa lý.

BLS CAPTCHA giải quyết nhanh như thế nào?

Thông thường 10-20 giây. CaptchaAI báo cáo tỷ lệ thành công 100% cho BLS CAPTCHA.


Hướng dẫn liên quan


Làm chủ các thông số BLS CAPTCHA —bắt đầu với CaptchaAI.

Os comentários estão desativados para este artigo.

Postagens relacionadas

API Tutorials Thứ tự hình ảnh BLS CAPTCHA và xử lý phản hồi lưới
Hướng dẫn từng bước về Thứ tự hình ảnh BLS CAPTCHA và xử lý phản hồi mạng, với các ví dụ có thể sử dụng lại trực tiếp và quy trình làm việc Captcha AI rõ ràng.

Hướng dẫn từng bước về Thứ tự hình ảnh BLS CAPTCHA và xử lý phản hồi mạng, với các ví dụ có thể sử dụng lại tr...

Apr 27, 2026
Tutorials BLS CAPTCHA: Tìm hiểu mã hướng dẫn và giải quyết
Hướng dẫn từng bước cho BLS CAPTCHA: Tìm hiểu hướng dẫn mã và cách giải quyết, với các ví dụ có thể sử dụng lại trực tiếp và quy trình làm việc Captcha AI rõ rà...

Hướng dẫn từng bước cho BLS CAPTCHA: Tìm hiểu hướng dẫn mã và cách giải quyết, với các ví dụ có thể sử dụng lạ...

Apr 27, 2026
Use Cases Quét web nghiên cứu học thuật bằng cách giải CAPTCHA
Hướng dẫn thực hành về Quét nghiên cứu web học thuật bằng cách giải CAPTCHA, với các tình huống thực tế, lời khuyên về quy trình làm việc và các bước có thể thự...

Hướng dẫn thực hành về Quét nghiên cứu web học thuật bằng cách giải CAPTCHA, với các tình huống thực tế, lời k...

Apr 22, 2026