
Anh Tuan
Data Science Expert

Bài hướng dẫn này sẽ hướng dẫn bạn qua quy trình giải Google reCaptchas trong Puppeteer bằng CapSolver.
CapSolver là một dịch vụ giải Captcha giúp bạn giải các Captcha.
Chúng tôi sử dụng các thuật toán giải Captcha dựa trên AI, mang lại tốc độ giải nhanh hơn và giảm chi phí đáng kể, cung cấp trải nghiệm phát triển tuyệt vời.
Mục tiêu sẽ là giải Captcha tại recaptcha-demo.appspot.com bằng CapSolver.

Trong bài hướng dẫn, chúng ta sẽ thực hiện các bước sau để giải Captcha trên:
Để bắt đầu, chúng ta cần cài đặt các phụ thuộc sau cho bài hướng dẫn này:
Cài đặt các phụ thuộc này bằng cách chạy lệnh sau:
python -m pip install pyppeteer capsolver-python
Bây giờ, tạo một tệp có tên main.py nơi chúng ta sẽ viết mã Python để giải Captcha.
touch main.py
Khóa trang là một chuỗi duy nhất do Google cung cấp để xác định duy nhất mỗi Captcha.
Để giải Captcha, bạn cần gửi khóa trang đến CapSolver.
Hãy tìm khóa trang của Mẫu Captcha bằng các bước sau:

Ctrl/Cmd + Shift + I.Elements và tìm data-sitekey. Sao chép giá trị thuộc tính.
Để giải Captcha bằng CapSolver, bạn cần tạo tài khoản CapSolver, nạp tiền vào tài khoản và lấy Khóa API. Làm theo các bước sau để thiết lập tài khoản CapSolver của bạn:



Bây giờ, chúng ta sẽ tiếp tục giải Captcha bằng CapSolver. Quy trình chung bao gồm ba bước:
Đọc các đoạn mã sau để hiểu các bước này.
Khởi động trình duyệt và truy cập trang Captcha:
# Khởi động trình duyệt.
browser = await launch({'headless': False})
# Tải trang mục tiêu.
captcha_page_url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
page = await browser.newPage()
await page.goto(captcha_page_url)
Giải Captcha bằng CapSolver:
# Giải reCAPTCHA bằng CapSolver.
capsolver = RecaptchaV2Task("YOUR_API_KEY")
site_key = "6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9"
task_id = capsolver.create_task(captcha_page_url, site_key)
result = capsolver.join_task_result(task_id)
# Lấy mã reCAPTCHA đã được giải.
code = result.get("gRecaptchaResponse")
Đặt mã Captcha đã giải trên biểu mẫu và gửi nó:
# Đặt mã reCAPTCHA đã được giải trên biểu mẫu.
recaptcha_response_element = await page.querySelector('#g-recaptcha-response')
await page.evaluate(f'(element) => element.value = "{code}"', recaptcha_response_element)
# Gửi biểu mẫu.
submit_btn = await page.querySelector('button[type="submit"]')
await submit_btn.click()
Dưới đây là mã hoàn chỉnh cho bài hướng dẫn, sẽ giải Captcha bằng CapSolver.
import asyncio
from pyppeteer import launch
from capsolver_python import RecaptchaV2Task
# Mã sau giải một thách thức reCAPTCHA v2 bằng CapSolver.
async def main():
# Khởi động trình duyệt.
browser = await launch({'headless': False})
# Tải trang mục tiêu.
captcha_page_url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
page = await browser.newPage()
await page.goto(captcha_page_url)
# Giải reCAPTCHA bằng CapSolver.
print("Đang giải Captcha")
capsolver = RecaptchaV2Task("YOUR_API_KEY")
site_key = "6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9"
task_id = capsolver.create_task(captcha_page_url, site_key)
result = capsolver.join_task_result(task_id)
# Lấy mã reCAPTCHA đã được giải.
code = result.get("gRecaptchaResponse")
print(f"Đã giải thành công reCAPTCHA. Mã giải là {code}")
# Đặt mã reCAPTCHA đã được giải trên biểu mẫu.
recaptcha_response_element = await page.querySelector('#g-recaptcha-response')
await page.evaluate(f'(element) => element.value = "{code}"', recaptcha_response_element)
# Gửi biểu mẫu.
submit_btn = await page.querySelector('button[type="submit"]')
await submit_btn.click()
# Dừng thực thi để bạn có thể xem màn hình sau khi gửi trước khi đóng trình duyệt
input("Gửi Captcha thành công. Nhấn enter để tiếp tục")
# Đóng trình duyệt.
await browser.close()
if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
Dán mã trên vào tệp main.py của bạn. Thay thế YOUR_API_KEY bằng Khóa API của bạn và chạy mã.
Bạn sẽ thấy rằng Captcha được giải, và bạn sẽ được chào đón bởi trang thành công 🥳.

Chúc mừng! Bạn đã thành công trong việc học cách giải Captcha bằng CapSolver. Dưới đây là những điểm chính từ bài hướng dẫn này:
Cảm ơn bạn đã dành thời gian. 🙏 Chúc bạn may mắn trên hành trình tự động hóa! 🚀
Chúng tôi sử dụng thuật toán giải Captcha dựa trên AI thay vì người dùng giải, điều này giúp giảm chi phí giải Captcha đáng kể. Do đó, giá của chúng tôi cạnh tranh cao trên thị trường.
Ví dụ, chi phí giải Captcha Google v2/v3 dao động từ $0.8 đến $1.
Để biết thêm chi tiết về giá của chúng tôi, vui lòng truy cập trang giá của chúng tôi tại đây.
Trong bài này, chúng tôi đã giải reCaptcha Google V2, nhưng trang web mục tiêu của bạn có thể đang sử dụng reCaptcha Google V3.
Khi giải reCaptcha Google V3, điều quan trọng là đảm bảo rằng địa chỉ IP và user agent được sử dụng để gửi Captcha trùng khớp với những gì được sử dụng để giải nó.
Khi bạn có proxy nhà ở sẵn sàng, bạn có thể cập nhật mã như sau để giải Captcha thành công:
browser = await launch({'args': ['--proxy-server=ip:port'], 'headless': False})
capsolver = RecaptchaV2Task("YOUR_API_KEY")
capsolver.set_proxy(proxy_address='proxy_ip', proxy_port='proxy_port', proxy_login='user', proxy_password='password')
browser_useragent = browser.userAgent()
capsolver.set_user_agent(browser_useragent)
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.

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.

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ệ.
