Sản phẩmTích hợpTài nguyênTài liệuGiá cả
Bắt đầu ngay

© 2026 CapSolver. All rights reserved.

Liên hệ chúng tôi

Slack: lola@capsolver.com

Sản phẩm

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Tiện ích trình duyệt
  • Thêm nhiều loại CAPTCHA

Tích hợp

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Đối tác
  • Xem tất cả tích hợp

Tài nguyên

  • Chương trình giới thiệu
  • Tài liệu
  • Tham chiếu API
  • Blog
  • Câu hỏi thường gặp
  • Thuật ngữ
  • Trạng thái

Pháp lý

  • Điều khoản dịch vụ
  • Chính sách bảo mật
  • Chính sách hoàn tiền
  • Không bán thông tin cá nhân của tôi
Blog/Cloudflare/Cách giải captcha hình ảnh bằng Python
Sep21, 2023

Cách giải captcha hình ảnh bằng Python

Anh Tuan

Anh Tuan

Data Science Expert


Giới thiệu

Captcha hình ảnh sang văn bản là một trong những hình thức xác minh bot phổ biến nhất trên internet. Chúng hiển thị một hình ảnh chứa các ký tự bị biến dạng, uốn cong hoặc che khuất và yêu cầu người dùng xác định chính xác văn bản để chứng minh họ là con người. Đối với các nhà phát triển làm việc trên web scraping hoặc tự động hóa, những captcha này là trở ngại phổ biến.

May mắn thay, với các dịch vụ nhận dạng dựa trên AI, quy trình này có thể được tự động hóa dễ dàng. Hướng dẫn này sẽ cho bạn thấy cách sử dụng Python và dịch vụ CapSolver để giải captcha hình ảnh nhanh chóng và chính xác.

⚙️ Yêu cầu tiên quyết

Trước khi bắt đầu, hãy đảm bảo bạn có những điều sau:

  • Python đã cài đặt: Đảm bảo Python được cài đặt trên hệ thống của bạn.
  • Khóa API CapSolver: Bạn sẽ cần tài khoản CapSolver để lấy khóa API từ bảng điều khiển.

🤖 Bước 1: Cài đặt các gói Python cần thiết

Đầu tiên, bạn cần cài đặt thư viện Python chính thức của CapSolver. Gói này giúp đơn giản hóa việc tương tác với API CapSolver. Mở terminal và chạy lệnh sau:

bash Copy
pip install capsolver

👨‍💻 Bước 2: Viết mã Python để giải captcha hình ảnh

Mã Python sau đây minh họa cách giải captcha hình ảnh bằng CapSolver. Nền tảng của đoạn mã này là ImageToTextTask, sử dụng động cơ Vision Engine mạnh mẽ của CapSolver để nhận dạng văn bản trong hình ảnh.

Mã Python Cập nhật

Mã này có cấu trúc modular hơn và bao gồm các hàm xử lý cả tệp hình ảnh cục bộ và URL hình ảnh, giúp nó linh hoạt hơn cho nhiều trường hợp sử dụng khác nhau.

python Copy
import capsolver
import base64
import requests
from io import BytesIO

# -------------------VUI LÒNG THAY ĐỔI CÁC GIÁ TRỊ SAU-------------------
# Khóa API của bạn từ bảng điều khiển CapSolver
CAPSOLVER_API_KEY = "Khóa_API_Của_Bạn"
# ----------------------------------------------------------------

def setup_capsolver():
    """Thiết lập khóa API CapSolver."""
    capsolver.api_key = CAPSOLVER_API_KEY

def get_base64_from_image(source, is_url=False):
    """
    Chuyển đổi tệp hình ảnh hoặc URL thành chuỗi được mã hóa Base64.
    :param source: Đường dẫn (đối với tệp cục bộ) hoặc URL của hình ảnh.
    :param is_url: True nếu nguồn là URL.
    :return: Một chuỗi được mã hóa Base64, hoặc None nếu thất bại.
    """
    try:
        if is_url:
            response = requests.get(source)
            response.raise_for_status()  # Gây ra ngoại lệ nếu mã trạng thái không tốt
            image_bytes = BytesIO(response.content)
        else:
            with open(source, 'rb') as image_file:
                image_bytes = BytesIO(image_file.read())
        
        base64_string = base64.b64encode(image_bytes.read()).decode('utf-8')
        return base64_string
    except requests.exceptions.RequestException as e:
        print(f"Không thể lấy hình ảnh từ URL: {e}")
        return None
    except FileNotFoundError:
        print(f"Lỗi: Không tìm thấy tệp tại {source}")
        return None
    except Exception as e:
        print(f"Lỗi xảy ra khi chuyển đổi hình ảnh thành Base64: {e}")
        return None

def solve_image_captcha(base64_image, module_name="common"):
    """
    Giải captcha hình ảnh bằng CapSolver.
    :param base64_image: Chuỗi hình ảnh được mã hóa Base64.
    :param module_name: Bộ nhận dạng, 'common' cho mục đích chung.
    :return: Đối tượng giải pháp, hoặc None nếu thất bại.
    """
    print("Đang gửi nhiệm vụ captcha hình ảnh đến CapSolver...")
    try:
        solution = capsolver.solve({
            "type": "ImageToTextTask",
            "module": module_name,
            "body": base64_image
        })
        return solution
    except Exception as e:
        print(f"Lỗi xảy ra khi giải captcha: {e}")
        return None

def main():
    """Hàm chính để thực hiện quy trình."""
    setup_capsolver()

    # --- Ví dụ 1: Sử dụng tệp hình ảnh cục bộ ---
    print("--- Ví dụ 1: Sử dụng tệp hình ảnh cục bộ ---")
    local_image_path = "đường_dẫn/tới/tệp_captcha.jpg"  # Thay bằng đường dẫn tệp của bạn
    base64_from_file = get_base64_from_image(local_image_path)
    
    if base64_from_file:
        solution = solve_image_captcha(base64_from_file)
        if solution:
            print("Văn bản giải pháp:", solution.get("text"))

    print("\n" + "="*30 + "\n")

    # --- Ví dụ 2: Sử dụng URL hình ảnh ---
    print("--- Ví dụ 2: Sử dụng URL hình ảnh ---")
    image_url = "https://i.postimg.cc/B6hK2V19/captcha-example.png" # URL hình ảnh ví dụ
    base64_from_url = get_base64_from_image(image_url, is_url=True)

    if base64_from_url:
        solution = solve_image_captcha(base64_from_url)
        if solution:
            print("Văn bản giải pháp:", solution.get("text"))


if __name__ == "__main__":
    main()

⚠️ Biến quan trọng cần thay đổi

Trước khi chạy mã, hãy chắc chắn thay đổi các mục sau:

  • CAPSOLVER_API_KEY: Tìm khóa API của bạn trong Bảng điều khiển CapSolver và thay thế giá trị mẫu.
  • local_image_path (trong hàm main): Nếu bạn muốn kiểm tra một hình ảnh cục bộ, hãy thay thế bằng đường dẫn tệp thực tế đến hình ảnh CAPTCHA của bạn.

Kết luận

Bằng cách tích hợp CapSolver vào các tập lệnh Python của bạn, bạn có thể tự động hóa hoàn toàn quy trình nhận dạng captcha hình ảnh. Phương pháp này không chỉ hiệu quả và chính xác mà còn giúp bạn tránh công việc thủ công lặp đi lặp lại để giải quyết những thách thức này. Đây là bước đột phá quan trọng về hiệu suất cho bất kỳ dự án nào liên quan đến thu thập dữ liệu quy mô lớn hoặc kiểm thử tự động. Nếu bạn quan tâm đến việc giải các loại captcha phức tạp hơn, bạn có thể học cách giải reCAPTCHA v2 với Playwright, điều này thể hiện cách xử lý các thách thức động trong bối cảnh tự động hóa trình duyệt.

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

Câu hỏi 1: Độ chính xác của nhận dạng CapSolver là bao nhiêu?
Trả lời 1: CapSolver sử dụng các mô hình AI tiên tiến và đạt tỷ lệ chính xác cao cho hầu hết các captcha hình ảnh tiêu chuẩn. Độ chính xác có thể thay đổi tùy theo mức độ phức tạp của captcha (ví dụ: mức độ biến dạng, nhiễu nền).

Câu hỏi 2: Tham số module được dùng để làm gì?
Trả lời 2: Tham số module cho phép bạn chỉ định một động cơ nhận dạng cụ thể để tối ưu hiệu suất cho một loại captcha nhất định. common là module dùng chung phù hợp cho hầu hết các trường hợp. Đối với các module chuyên dụng hơn, tham khảo tài liệu chính thức ImageToTextTask.

Câu hỏi 3: Tôi có thể sử dụng phương pháp này trực tiếp trong trình thu thập dữ liệu web của mình không?
Trả lời 3: Chắc chắn rồi. Sau khi nhận được văn bản đã giải, bạn có thể sử dụng nó để điền vào biểu mẫu captcha và tiếp tục quy trình thu thập dữ liệu hoặc tự động hóa của mình. Phương pháp này có thể được tích hợp một cách liền mạch vào bất kỳ dự án Python nào.

Câu hỏi 4: CapSolver có hỗ trợ các ngôn ngữ khác ngoài Python không?
Trả lời 4: Có. CapSolver cung cấp các thư viện và điểm cuối API cho nhiều ngôn ngữ lập trình, bao gồm Node.js, Go và các ngôn ngữ khác, giúp dễ dàng tích hợp vào hầu hết các công nghệ stack.

Xem thêm

CloudflareMar 26, 2026

Khắc phục Lỗi 1005 Cloudflare: Hướng dẫn Gỡ mã web và Giải pháp

Học cách khắc phục lỗi Cloudflare Error 1005 bị từ chối truy cập khi quét dữ liệu. Khám phá các giải pháp như proxy nhà ở, dấu vân tay trình duyệt và CapSolver cho CAPTCHA. Tối ưu hóa việc trích xuất dữ liệu.

Adélia Cruz
Adélia Cruz
CloudflareMar 17, 2026

Làm thế nào để điều hướng Cloudflare Turnstile với Playwright Stealth trong luồng công việc AI

Khám phá cách xử lý hiệu quả Cloudflare Turnstile trong các quy trình AI bằng các kỹ thuật che giấu của Playwright và CapSolver để giải captcha đáng tin cậy. Học các chiến lược tích hợp thực tế và các phương pháp tốt nhất để tự động hóa không gián đoạn.

Nội dung

Anh Tuan
Anh Tuan
CloudflareJan 19, 2026

Cách vượt qua xác minh bạn là người thật của Cloudflare mà không bị mắc kẹt

Bị mắc kẹt ở "xác minh bạn là người" hoặc "Thử thách Cloudflare"? Học về các nguyên nhân phổ biến và khám phá các giải pháp kỹ thuật để hệ thống tự động vượt qua xác minh mỗi lần.

Rajinder Singh
Rajinder Singh
CloudflareJan 29, 2025

Cách vượt qua thử thách Cloudflare khi thu thập dữ liệu web vào năm 2026

Tìm hiểu cách vượt qua Cloudflare Challenge và Turnstile trong năm 2026 để thu thập dữ liệu web liền mạch. Khám phá tích hợp Capsolver, mẹo về dấu vân tay TLS và các bản sửa lỗi cho các lỗi thường gặp để tránh địa ngục CAPTCHA. Tiết kiệm thời gian và mở rộng quy mô quá trình trích xuất dữ liệu của bạn.

Emma Foster
Emma Foster