CAPSOLVER
Blog
Cách xử lý đồng thời nhiều thử thách reCAPTCHA

Cách xử lý nhiều thử thách reCAPTCHA đồng thời

Logo of CapSolver

Anh Tuan

Data Science Expert

10-Sep-2024

Khi thực hiện web scraping, một trong những trở ngại phổ biến bạn có thể gặp phải là các thách thức CAPTCHA. Các trang web thường sử dụng CAPTCHA để ngăn chặn bot truy cập nội dung của họ. CAPTCHA (Kiểm tra Turing công khai tự động hoàn toàn để phân biệt máy tính và con người) là một kỹ thuật được sử dụng rộng rãi để đảm bảo rằng người dùng là con người, không phải bot tự động.

Trong hướng dẫn này, chúng tôi sẽ thảo luận về các loại thách thức reCAPTCHA khác nhau, cách xác định chúng bằng các công cụ và cuối cùng, cách giải quyết nhiều thách thức reCAPTCHA đồng thời bằng Pythonthreading.

Web Scraping là gì?

WebScraping là quá trình trích xuất dữ liệu từ các trang web. Nó thường được sử dụng cho các tác vụ như thu thập giá từ các trang web thương mại điện tử, thu thập bài báo tin tức hoặc tổng hợp thông tin từ nhiều nguồn web khác nhau. Scraping bao gồm việc thực hiện yêu cầu HTTP đến một trang web và phân tích cú pháp dữ liệu từ phản hồi. Tuy nhiên, nhiều trang web sử dụng CAPTCHA để ngăn chặn quyền truy cập tự động.

Các loại thách thức reCAPTCHA

reCAPTCHA v2

reCAPTCHA V2, loại CAPTCHA này được sử dụng rộng rãi nhất và xuất hiện dưới dạng thách thức "hộp kiểm tra" có nhãn "Tôi không phải là robot". Nó có thể yêu cầu người dùng chọn một số hình ảnh để xác minh họ là người.

reCAPTCHA v3

reCAPTCHA V3 hoạt động trong nền, chấm điểm các tương tác của người dùng để phát hiện hành vi giống bot. Hệ thống này được thiết kế để tránh gây gián đoạn trải nghiệm người dùng bằng cách cung cấp điểm số cho trang web, có thể được sử dụng để chặn bot hoặc yêu cầu các bước xác minh bổ sung.

reCAPTCHA ẩn

reCAPTCHA ẩn là một phiên bản thân thiện với người dùng hơn của reCAPTCHA v2, trong đó thách thức chỉ xuất hiện nếu hệ thống nghi ngờ hành vi giống bot.

Xác định các loại CAPTCHA

Cài đặt

Để xác định loại CAPTCHA được sử dụng trên một trang web, bạn có thể sử dụng các công cụ sau:

Cài đặt Capsolver

Capsolver là một dịch vụ cho phép bạn giải quyết các thách thức CAPTCHA một cách có chương trình. Để phát hiện các thông số CAPTCHA:

  1. Truy cập Capsolver.
  2. Nhấn phím "F12" trên bàn phím của bạn để mở công cụ dành cho nhà phát triển trong trình duyệt của bạn.
  3. Điều hướng đến tab có nhãn Capsolver Captcha Detector.
Capsolver Captcha Detector

Phát hiện CAPTCHA

Sau khi bạn đã thiết lập Capsolver, hãy làm theo các bước sau để phát hiện các thông số CAPTCHA:

  1. Không đóng bảng điều khiển Capsolver, hãy truy cập trang web nơi bạn muốn kích hoạt CAPTCHA.
  2. Kích hoạt CAPTCHA theo cách thủ công.
  3. Đảm bảo không đóng bảng điều khiển Capsolver trước khi kích hoạt CAPTCHA.

Phát hiện reCAPTCHA

Capsolver Captcha Detector có thể trả về thông tin chi tiết về reCAPTCHA:

Phát hiện reCAPTCHA

Các tham số chính cho reCAPTCHA:

  • Website URL
  • Site Key
  • pageAction
  • isInvisible
  • isEnterprise
  • isSRequired
  • isReCaptchaV3
  • API Domain

Sau khi các thông số này được phát hiện, Capsolver sẽ trả về một đối tượng JSON với tất cả các chi tiết cần thiết để gửi CAPTCHA đến dịch vụ của họ.

Các tham số giải quyết reCaptcha

Giải quyết nhiều thách thức reCAPTCHA đồng thời

Khi làm việc trên các dự án web scraping, việc giải quyết CAPTCHA có thể trở nên tốn thời gian, đặc biệt là khi bạn cần giải quyết nhiều CAPTCHA đồng thời. Dưới đây là cách bạn có thể tự động giải quyết nhiều thách thức reCAPTCHA đồng thời bằng Python.

Ví dụ: Giải quyết nhiều thách thức reCAPTCHA v2

python Copy
import capsolver
import threading

capsolver.api_key = "Your Capsolver API Key"
PAGE_URL = "PAGE_URL"
PAGE_KEY = "PAGE_SITE_KEY"

def solve_recaptcha_v2():
    solution = capsolver.solve({
        "type": "ReCaptchaV2TaskProxyless",
        "websiteURL": PAGE_URL,
        "websiteKey": PAGE_KEY,
    })
    return solution

def solve_recaptcha_task(result_list, index):
    result = solve_recaptcha_v2()
    result_list[index] = result

def solve_multiple_recaptchas(num_tasks):
    threads = []
    results = [None] * num_tasks

    for i in range(num_tasks):
        thread = threading.Thread(target=solve_recaptcha_task, args=(results, i))
        threads.append(thread)
        thread.start()

    for thread in threads:
        thread.join()

    return results

def main():
    num_tasks = 10  # Số lượng tác vụ đồng thời
    print(f"Giải quyết {num_tasks} tác vụ reCaptcha v2 đồng thời")
    solutions = solve_multiple_recaptchas(num_tasks)
    for i, solution in enumerate(solutions):
        print(f"Giải pháp {i+1}: {solution}")

if __name__ == "__main__":
    main()

Giải quyết nhiều thách thức reCAPTCHA v3

Quá trình giải quyết reCAPTCHA v3 khá giống với v2, nhưng bạn sẽ cần điều chỉnh loại CAPTCHA cho phù hợp.

python Copy
```python
import capsolver
import threading

capsolver.api_key = "Your Capsolver API Key"
PAGE_URL = "PAGE_URL"
PAGE_KEY = "PAGE_SITE_KEY"

def solve_recaptcha_v3():
    solution = capsolver.solve({
        "type": "ReCaptchaV3TaskProxyless",
        "websiteURL": PAGE_URL,
        "websiteKey": PAGE_KEY,
    })
    return solution

def solve_recaptcha_task(result_list, index):
    result = solve_recaptcha_v3()
    result_list[index] = result

def solve_multiple_recaptchas(num_tasks):
    threads = []
    results = [None] * num_tasks

    for i in range(num_tasks):
        thread = threading.Thread(target=solve_recaptcha_task, args=(results, i))
        threads.append(thread)
        thread.start()

    for thread in threads:
        thread.join()

    return results

def main():
    num_tasks = 10  # Số lượng tác vụ đồng thời
    print(f"Giải quyết {num_tasks} tác vụ reCaptcha v3 đồng thời")
    solutions = solve_multiple_recaptchas(num_tasks)
    for i, solution in enumerate(solutions):
        print(f"Giải pháp {i+1}: {solution}")

if __name__ == "__main__":
    main()

Giải quyết nhiều thách thức reCAPTCHA v3

Quá trình giải quyết reCAPTCHA v3 khá giống với v2, nhưng bạn sẽ cần điều chỉnh loại CAPTCHA cho phù hợp.

python Copy
```python
import capsolver
import threading

capsolver.api_key = "Your Capsolver API Key"
PAGE_URL = "PAGE_URL"
PAGE_KEY = "PAGE_SITE_KEY"

def solve_recaptcha_v3():
    solution = capsolver.solve({
        "type": "ReCaptchaV3TaskProxyless",
        "websiteURL": PAGE_URL,
        "websiteKey": PAGE_KEY,
    })
    return solution

def solve_recaptcha_task(result_list, index):
    result = solve_recaptcha_v3()
    result_list[index] = result

def solve_multiple_recaptchas(num_tasks):
    threads = []
    results = [None] * num_tasks

    for i in range(num_tasks):
        thread = threading.Thread(target=solve_recaptcha_task, args=(results, i))
        threads.append(thread)
        thread.start()

    for thread in threads:
        thread.join()

    return results

def main():
    num_tasks = 10  # Số lượng tác vụ đồng thời
    print(f"Giải quyết {num_tasks} tác vụ reCaptcha v3 đồng thời")
    solutions = solve_multiple_recaptchas(num_tasks)
    for i, solution in enumerate(solutions):
        print(f"Giải pháp {i+1}: {solution}")

if __name__ == "__main__":
    main()

Giải quyết các thách thức reCAPTCHA v3 và reCAPTCHA v2

python Copy
import capsolver

# Cân nhắc sử dụng biến môi trường cho thông tin nhạy cảm
capsolver.api_key = "Your Capsolver API Key"
PAGE_URL_V2 = "PAGE_URL"
PAGE_KEY_V2 = "PAGE_SITE_KEY"
PAGE_URL_V3 = "PAGE_URL"
PAGE_KEY_V3 = "PAGE_SITE_KEY"

def solve_recaptcha_v2(url, key):
    solution = capsolver.solve({
        "type": "ReCaptchaV2TaskProxyless",
        "websiteURL": url,
        "websiteKey": key,
    })
    return solution

def solve_recaptcha_v3(url, key):
    solution = capsolver.solve({
        "type": "ReCaptchaV3TaskProxyless",
        "websiteURL": url,
        "websiteKey": key,
        "minScore": 0.5  # Điều chỉnh điểm số tối thiểu nếu cần
    })
    return solution

def main():
    print("Giải quyết reCaptcha v2")
    solution_v2 = solve_recaptcha_v2(PAGE_URL_V2, PAGE_KEY_V2)
    print("Giải pháp (v2): ", solution_v2)

    print("Giải quyết reCaptcha v3")
    solution_v3 = solve_recaptcha_v3(PAGE_URL_V3, PAGE_KEY_V3)
    print("Giải pháp (v3): ", solution_v3)

if __name__ == "__main__":
    main()

Mã thưởng

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

Để biết thêm thông tin, hãy đọc blog này

Kết luận

Xử lý nhiều thách thức CAPTCHA là một kỹ năng quan trọng đối với bất kỳ ai làm việc trong lĩnh vực web scraping, đặc biệt là khi các trang web tăng cường các biện pháp bảo mật của họ. Với các công cụ như Capsolver và sức mạnh của luồng xử lý của Python, bạn có thể tự động hóa hiệu quả việc giải quyết các thách thức CAPTCHA, đảm bảo các quá trình scraping suôn sẻ hơn cho các dự án của bạn.

Tuyên bố Tuân thủ: Thông tin được cung cấp trên blog này chỉ mang tính chất tham khảo. CapSolver cam kết tuân thủ tất cả các luật và quy định hiện hành. Việc sử dụng mạng lưới CapSolver cho các hoạt động bất hợp pháp, gian lận hoặc lạm dụng là hoàn toàn bị cấm và sẽ bị điều tra. Các giải pháp giải captcha của chúng tôi nâng cao trải nghiệm người dùng trong khi đảm bảo tuân thủ 100% trong việc giúp giải quyết các khó khăn về captcha trong quá trình thu thập dữ liệu công khai. Chúng tôi khuyến khích việc sử dụng dịch vụ của chúng tôi một cách có trách nhiệm. Để biết thêm thông tin, vui lòng truy cập Điều khoản Dịch vụ và Chính sách Quyền riêng tư.

Thêm

Cách giải Captchas khi web scraping với Scrapling và CapSolver
Cách giải Captchas khi quét web bằng Scrapling và CapSolver

Scrapling + CapSolver cho phép quét trang web tự động với việc vượt qua ReCaptcha v2/v3 và Cloudflare Turnstile.

web scraping
Logo of CapSolver

Anh Tuan

05-Dec-2025

Thay đổi User-Agent trong Selenium
Thay đổi User-Agent trong Selenium | Các bước và Nguyên tắc tốt

Thay đổi User Agent trong Selenium là bước quan trọng trong nhiều nhiệm vụ quét web. Giúp che giấu script tự động hóa thành một trình duyệt thông thường...

The other captcha
Logo of CapSolver

Lucas Mitchell

05-Dec-2025

Làm thế nào để xác định nếu `action` được yêu cầu để giải quyết Cloudflare Turnstile bằng cách sử dụng tiện ích mở rộng CapSolver
Làm thế nào để xác định xem `action` có cần thiết hay không để giải Cloudflare Turnstile bằng cách sử dụng tiện ích mở rộng CapSolver

Học cách nhận diện hành động để giải CAPTCHA hiệu quả cho Cloudflare Turnstile. Theo dõi hướng dẫn từng bước của chúng tôi về cách sử dụng các công cụ và kỹ thuật của Capsolver.

Cloudflare
Logo of CapSolver

Aloísio Vítor

05-Dec-2025

9trung gian
Khám phá sức mạnh của 9Proxy: Bài đánh giá toàn diện

Trong bài viết này, chúng tôi sẽ giới thiệu 9proxy và các dịch vụ mà họ cung cấp.

Partners
Logo of CapSolver

Nikolai Smirnov

04-Dec-2025

Thu thập dữ liệu từ web với Selenium và Python
Gỡ mã nguồn trang web với Selenium và Python | Giải Captcha khi gỡ mã nguồn trang web

Trong bài viết này, bạn sẽ làm quen với trích xuất dữ liệu từ web bằng Selenium và Python, và học cách giải mã Captcha liên quan đến quy trình để trích xuất dữ liệu hiệu quả.

web scraping
Logo of CapSolver

Aloísio Vítor

04-Dec-2025

Bảng điều khiển CapSolver 3.0!
Nâng cấp với Bảng điều khiển CapSolver 3.0!

CapSolver Dashboard 3.0 đã được nâng cấp mới với tăng cường tương tác và hàng loạt tính năng mới.

The other captcha
Logo of CapSolver

Emma Foster

04-Dec-2025