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/All/Cách giải quyết CAPTCHA ảnh trong Web Scraping: Hướng dẫn đầy đủ năm 2025
Jan24, 2025

Cách giải quyết CAPTCHA ảnh trong Web Scraping: Hướng dẫn đầy đủ năm 2025

Anh Tuan

Anh Tuan

Data Science Expert

Nếu có một điều tôi đã học được trong những năm qua với tư cách là một người đam mê web scraping, đó là những thử thách CAPTCHA giống như những người gác cổng của internet. Cuộc gặp gỡ đầu tiên của tôi với một CAPTCHA hình ảnh cảm thấy như đập vào một bức tường gạch. Tôi đã dành hàng giờ để xây dựng scraper của mình, và ngay khi tôi sắp thu thập dữ liệu, tôi đã được chào đón bằng những bức ảnh mờ về đèn giao thông, vạch kẻ đường và mặt tiền cửa hàng. Tôi nhận ra rằng giải quyết CAPTCHA hình ảnh không chỉ là một thách thức kỹ thuật — đó là một nghi thức của bất kỳ scraper web nghiêm túc nào.

Hiện nay, vào năm 2025, CAPTCHA hình ảnh đã phát triển thành các cơ chế tinh vi, sử dụng AI để cản trở ngay cả những scraper tiên tiến nhất. Nhưng với các công cụ, kỹ thuật và tư duy phù hợp, chúng không còn là không thể vượt qua. Trong blog này, tôi sẽ chia sẻ những gì tôi đã học được về việc giải quyết CAPTCHA hình ảnh một cách hiệu quả, từ kinh nghiệm cá nhân đến các giải pháp mới nhất.

CAPTCHA hình ảnh là gì và tại sao chúng tồn tại?

Khi web scraping, một trong những loại CAPTCHA phổ biến nhất mà bạn sẽ gặp phải là CAPTCHA hình ảnh, được thiết kế để ngăn chặn các bot tự động truy cập vào các trang web. Với sự tiến bộ của công nghệ, các hệ thống CAPTCHA liên tục phát triển và trở nên phức tạp hơn. Một trong những hệ thống CAPTCHA hình ảnh được sử dụng rộng rãi nhất là reCAPTCHA của Google.

reCAPTCHA yêu cầu người dùng chọn các hình ảnh chứa các đối tượng cụ thể, chẳng hạn như đèn giao thông, xe đạp hoặc vạch kẻ đường. Loại thử thách nhận dạng hình ảnh này rất hiệu quả trong việc phân biệt giữa người dùng và script tự động. Mặc dù ô chọn "Tôi không phải là người máy" trước đây là tiêu chuẩn, nhưng các phiên bản gần đây hơn dựa trên các thử thách dựa trên hình ảnh, ngày càng phổ biến. Người dùng được yêu cầu chọn các hình ảnh chính xác để hoàn thành xác minh và chứng minh rằng họ không phải là bot.

Các loại CAPTCHA hình ảnh phổ biến trong Web Scraping

Trong lĩnh vực web scraping, CAPTCHA hình ảnh không chỉ là những trở ngại; chúng là những thử thách tinh vi được thiết kế để phân biệt giữa con người và bot. Trong số nhiều biến thể, hai biến thể nổi bật nhất là reCAPTCHA của Google và CAPTCHA ImageToText. Mỗi loại đều đặt ra những khó khăn riêng, nhưng với cách tiếp cận phù hợp, chúng có thể được giải quyết hiệu quả.

1. Giải quyết thử thách reCAPTCHA v2

Bước 1: Nhập các thư viện cần thiết

Đầu tiên, chúng ta cần nhập thư viện requests, cho phép chúng ta thực hiện các yêu cầu HTTP để tương tác với API CapSolver.

python Copy
import requests

Bước 2: Định nghĩa URL API và Khóa API

Để giao tiếp với API CapSolver, bạn cần cung cấp một khóa API. Khóa này thường được tạo khi bạn đăng ký tài khoản với CapSolver. Ở đây, chúng ta định nghĩa API_URL để chỉ định điểm cuối API và API_KEY để xác thực tài khoản của bạn.

python Copy
API_URL = "https://api.capsolver.com/createTask"
API_KEY = "YOUR_API_KEY"

Bước 3: Tạo payload yêu cầu

payload là một từ điển chứa tất cả thông tin cần thiết cho yêu cầu. Trong trường hợp này, chúng ta chỉ định loại CAPTCHA (ReCaptchaV2Classification), URL của trang web mục tiêu và đối tượng cần nhận dạng (ví dụ: đèn giao thông). Hãy chắc chắn thay thế URL trang web mục tiêu và đối tượng cần nhận dạng bằng các giá trị thực tế cho trường hợp của bạn.

python Copy
payload = {
    "clientKey": API_KEY,  # Thay thế bằng khóa API của bạn
    "task": {
        "type": "ReCaptchaV2Classification",  # Loại reCAPTCHA v2
        "websiteURL": "https://target-website.com",  # URL trang web mục tiêu
        "question": "/m/04_sv"  # Đối tượng cần nhận dạng (ví dụ: đèn giao thông)
    }
}

Bước 4: Gửi yêu cầu

Chúng ta sử dụng requests.post để gửi yêu cầu, chuyển payload đã tạo dưới dạng dữ liệu JSON. Đối tượng response sẽ chứa dữ liệu phản hồi của API.

python Copy
response = requests.post(API_URL, json=payload)

Bước 5: Xử lý phản hồi

Kiểm tra mã trạng thái của phản hồi để đảm bảo yêu cầu đã thành công. Nếu thành công, chúng ta phân tích cú pháp phản hồi JSON và kiểm tra errorId và status để xem giải pháp đã sẵn sàng chưa. Nếu thử thách đã được giải quyết, chúng ta trích xuất và hiển thị giải pháp.

python Copy
if response.status_code == 200:
    result = response.json()
    if result.get("errorId") == 0 and result.get("status") == "ready":
        print("Solution:", result["solution"])  # Xuất giải pháp
    else:
        print("Error:", result.get("errorDescription"))  # Xuất thông báo lỗi
else:
    print(f"Failed with status code: {response.status_code}")  # Nếu yêu cầu thất bại, xuất mã trạng thái

2. Giải quyết CAPTCHA ImageToText

Bước 1: Nhập các thư viện cần thiết

Ở đây, chúng ta sử dụng thư viện capsolver, được cung cấp bởi CapSolver để tương tác với API của họ. Chúng ta cũng nhập os và pathlib để quản lý đường dẫn tệp cho hình ảnh CAPTCHA.

python Copy
import os
from pathlib import Path
import capsolver

Bước 2: Thiết lập Khóa API của bạn

Tương tự như reCAPTCHA, trước tiên chúng ta thiết lập khóa API của bạn để xác thực với dịch vụ của CapSolver.

python Copy
capsolver.api_key = "YOUR_API_KEY"

Bước 3: Chỉ định đường dẫn hình ảnh CAPTCHA

Giả sử bạn đã tải xuống hình ảnh CAPTCHA và lưu nó cục bộ. Chúng ta sử dụng pathlib để định nghĩa đường dẫn tệp đến hình ảnh.

python Copy
# Lấy đường dẫn đến thư mục script hiện tại và định nghĩa đường dẫn tệp hình ảnh CAPTCHA
img_path = os.path.join(Path(__file__).resolve().parent, "captcha_image.jpg")

Bước 4: Đọc và mã hóa hình ảnh

Tiếp theo, chúng ta mở tệp hình ảnh CAPTCHA ở chế độ nhị phân và mã hóa nó thành base64, điều này cần thiết để gửi nó đến CapSolver để xử lý.

python Copy
with open(img_path, 'rb') as f:
    encoded_image = f.read().encode("base64")  # Mã hóa hình ảnh thành base64

Bước 5: Gửi tác vụ và lấy giải pháp

Bây giờ, chúng ta gọi capsolver.solve() để gửi tác vụ CAPTCHA ImageToText, chuyển hình ảnh được mã hóa base64 làm một phần của yêu cầu. Chúng ta chỉ định loại tác vụ là ImageToTextTask và sử dụng mô-đun OCR general để nhận dạng văn bản.

python Copy
solution = capsolver.solve({
    "type": "ImageToTextTask",  # Thiết lập loại tác vụ thành ImageToText
    "module": "general",  # Sử dụng mô-đun OCR chung
    "body": encoded_image  # Chuyển hình ảnh được mã hóa base64
})

Bước 6: Xuất giải pháp

Cuối cùng, chúng ta xuất giải pháp CAPTCHA đã giải mã được trả về bởi CapSolver.

python Copy
print("CAPTCHA Solution:", solution)

Mã thưởng

Nhận Mã thưởng của bạn cho các giải pháp captcha hàng đầu; CapSolver: recapv2. Sau khi đổi, bạn sẽ nhận được thêm 5% tiền thưởng sau mỗi lần nạp, Không giới hạn.


Kết luận

Bằng cách làm theo các bước này, bạn có thể dễ dàng giải quyết hai loại CAPTCHA hình ảnh phổ biến: reCAPTCHA của Google và CAPTCHA ImageToText. Cho dù bạn đang xử lý các reCAPTCHA được tạo động hay các thử thách văn bản bị bóp méo, API của CapSolver cung cấp một giải pháp hiệu quả và tự động.

Những phương pháp này sẽ cải thiện đáng kể hiệu quả và độ tin cậy của các tác vụ web scraping của bạn. Như mọi khi, hãy đảm bảo rằng các hoạt động scraping của bạn tuân thủ các tiêu chuẩn pháp lý và đạo đức để duy trì tính toàn vẹn của công việc của bạn.

Năm 2025, giải quyết CAPTCHA không chỉ là một kỹ năng — đó là một điều cần thiết đối với bất kỳ scraper nào muốn dẫn đầu trò chơi.

Xem thêm

May 06, 2026

Cách vượt qua Thách thức AWS WAF mà không cần trình duyệt: Hướng dẫn kỹ thuật

Học cách giải quyết các thách thức AWS WAF và CAPTCHA mà không cần trình duyệt. Sử dụng API của CapSolver để tạo token và bypass mã trạng thái 405.

Anh Tuan
Anh Tuan
Apr 30, 2026

Thu thập dữ liệu web trên Linux: Công cụ, Cài đặt và Hướng dẫn thực hành

Cài đặt truy xuất dữ liệu web trên Linux với Python, máy chủ trung gian và xử lý CAPTCHA. Hướng dẫn thực hành cho nhà phát triển bao gồm Scrapy, Playwright, CapSolver và dòng dữ liệu.

Anh Tuan
Anh Tuan

Nội dung

Apr 30, 2026

Lỗi 1020 của Cloudflare: Truy cập bị từ chối trong trích xuất dữ liệu web & Bảo vệ WAF

Hãy học cách xác định nguyên nhân gây ra lỗi Cloudflare 1020 Truy cập Bị Từ Chối, cách Tường lửa Ứng dụng Web và phát hiện bot hoạt động, và cách các nhà phát triển giảm thiểu kết quả dương tính giả trong các quy trình tự động hợp lệ.

Anh Tuan
Anh Tuan
Apr 29, 2026

Các phần mở rộng giải CAPTCHA tự động tốt nhất cho Chrome năm 2026

Khám phá các phần mở rộng Chrome giải CAPTCHA tự động tốt nhất năm 2026. So sánh CapSolver, NopeCHA và SolveCaptcha theo tốc độ, loại được hỗ trợ và quyền riêng tư để tìm được sự lựa chọn phù hợp.

Anh Tuan
Anh Tuan