Cách giải reCAPTCHA v3 trong Crawl4AI với Tích hợp CapSolver

Anh Tuan
Data Science Expert
21-Oct-2025

Giới thiệu
reCAPTCHA v3, CAPTCHA tiên tiến, không hiển thị của Google, hoạt động lặng lẽ ở nền, phân tích hành vi người dùng để gán điểm số cho thấy khả năng hoạt động của bot. Khác với phiên bản trước, reCAPTCHA v2, nó thường không hiển thị các thách thức tương tác cho người dùng. Mặc dù điều này cải thiện trải nghiệm người dùng, nhưng nó tạo ra những thách thức mới cho tự động hóa web và trích xuất dữ liệu, vì các phương pháp truyền thống như chèn token thường không đủ hoặc dễ bị ghi đè.
Bài viết này cung cấp hướng dẫn chi tiết về cách tích hợp Crawl4AI, một trình thu thập web mạnh mẽ, với CapSolver, một dịch vụ giải CAPTCHA hàng đầu, đặc biệt là để giải reCAPTCHA v3. Chúng ta sẽ khám phá các kỹ thuật tinh vi, bao gồm các giải pháp dựa trên API với việc gắn hook vào fetch JavaScript và tích hợp tiện ích mở rộng trình duyệt, để đảm bảo trích xuất dữ liệu web mượt mà và đáng tin cậy ngay cả từ các trang web được bảo vệ bởi reCAPTCHA v3.
Hiểu về reCAPTCHA v3 và những thách thức độc đáo của nó
reCAPTCHA v3 hoạt động bằng cách trả về một điểm số (từ 0.0 đến 1.0) cho mỗi yêu cầu mà không cần tương tác của người dùng. Một điểm số 0.0 cho thấy khả năng cao là bot, trong khi 1.0 cho thấy người dùng là con người. Các trang web sau đó sử dụng điểm số này để quyết định xem có cho phép hành động, hiển thị thách thức, hay chặn yêu cầu. Tính chất không hiển thị của reCAPTCHA v3 có nghĩa là:
- Không có thách thức hiển thị: Người dùng không nhìn thấy hộp kiểm hoặc câu đố hình ảnh.
- Xác minh dựa trên điểm số: Các quyết định được đưa ra dựa trên điểm số rủi ro.
- Tạo token động: Token thường được tạo và xác minh động, thường thông qua các yêu cầu
fetchhoặcXMLHttpRequest. - Nhạy cảm với thời gian: Chèn token quá sớm có thể dẫn đến việc nó bị ghi đè, trong khi quá muộn có thể bỏ lỡ bước xác minh.
Khả năng AI tiên tiến của CapSolver là quan trọng để lấy token reCAPTCHA v3 hợp lệ với điểm số cao. Khi kết hợp với khả năng kiểm soát trình duyệt mạnh mẽ của Crawl4AI, nó giúp các nhà phát triển vượt qua những thách thức này và duy trì luồng dữ liệu không gián đoạn.
💡 Ưu đãi đặc biệt cho người dùng tích hợp Crawl4AI:
Để chào mừng sự tích hợp này, chúng tôi đang cung cấp mã ưu đãi 6% —CRAWL4cho tất cả người dùng CapSolver đăng ký qua hướng dẫn này.
Chỉ cần nhập mã này khi nạp tiền trong Bảng điều khiển để nhận thêm 6% tín dụng ngay lập tức.
Phương pháp tích hợp 1: Tích hợp API CapSolver với Crawl4AI (gắn hook vào fetch)
Việc vượt qua reCAPTCHA v3 thông qua tích hợp API đòi hỏi một cách tiếp cận phức tạp hơn so với v2, chủ yếu do tính chất không hiển thị và cơ chế xác minh token động. Chiến lược chính bao gồm việc lấy token reCAPTCHA v3 từ CapSolver và sau đó
gắn hook vào phương thức window.fetch trong trình duyệt để thay thế token reCAPTCHA v3 ban đầu bằng token do CapSolver cung cấp vào đúng thời điểm xác minh.
Cách hoạt động:
- Lấy token trước: Trước khi Crawl4AI điều hướng đến trang đích, gọi API của CapSolver bằng SDK của họ để giải reCAPTCHA v3. Điều này sẽ cung cấp cho bạn token
gRecaptchaResponsehợp lệ và có thể có điểm số cao hơn. - Điều hướng và chèn mã JavaScript: Crawl4AI điều hướng đến trang đích. Quan trọng nhất là nó chèn mã JavaScript (thông qua
js_codetrongCrawlerRunConfig) để ghi đè phương thứcwindow.fetch. - Gắn hook yêu cầu fetch: Mã JavaScript được chèn sẽ bắt các yêu cầu
fetch. Khi phát hiện một yêu cầu nhắm đến điểm cuối xác minh reCAPTCHA v3 (ví dụ:/recaptcha-v3-verify.php), mã JavaScript sẽ sửa đổi yêu cầu để bao gồm token do CapSolver cung cấp thay vì token được tạo bởi trang web. - Tiếp tục hoạt động: Với yêu cầu fetch được gắn hook thành công và token hợp lệ được gửi, Crawl4AI có thể tiếp tục thực hiện các hành động khác, vì quá trình xác minh reCAPTCHA v3 sẽ được thông qua.
Mã ví dụ: Tích hợp API cho reCAPTCHA v3 (gắn hook vào fetch)
Mã Python sau minh họa kỹ thuật tiên tiến này để tích hợp API của CapSolver với Crawl4AI nhằm giải reCAPTCHA v3. Ví dụ này sử dụng trang web demo reCAPTCHA v3.
python
import asyncio
import capsolver
from crawl4ai import *
# TODO: thiết lập cấu hình của bạn
api_key = "CAP-xxxxxxxxxxxxxxxxxxxxx" # khóa API của bạn từ CapSolver
site_key = "6LdKlZEpAAAAAAOQjzC2v_d36tWxCl6dWsozdSy9" # site key của trang đích
site_url = "https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php" # URL trang đích
page_action = "examples/v3scores" # hành động trang của trang đích
captcha_type = "ReCaptchaV3TaskProxyLess" # loại CAPTCHA của trang đích
capsolver.api_key = api_key
async def main():
browser_config = BrowserConfig(
verbose=True,
headless=False,
use_persistent_context=True,
)
# lấy token reCAPTCHA bằng SDK CapSolver
solution = capsolver.solve({
"type": captcha_type,
"websiteURL": site_url,
"websiteKey": site_key,
"pageAction": page_action,
})
token = solution["gRecaptchaResponse"]
print("token reCAPTCHA:", token)
async with AsyncWebCrawler(config=browser_config) as crawler:
await crawler.arun(
url=site_url,
cache_mode=CacheMode.BYPASS,
session_id="session_captcha_test"
)
js_code = """
const originalFetch = window.fetch;
window.fetch = function(...args) {
if (typeof args[0] === \'string\' && args[0].includes(\'/recaptcha-v3-verify.php\')) {
const url = new URL(args[0], window.location.origin);
url.searchParams.set(\'action\', \""" + token + """\");
args[0] = url.toString();
document.querySelector(\".token\").innerHTML = \"fetch(\\'/recaptcha-v3-verify.php?action=examples/v3scores&token="""+token+"""\')\";
console.log(\'Fetch URL hooked:\', args[0]);
}
return originalFetch.apply(this, args);
};
"""
wait_condition = """() => {
return document.querySelector(\".step3:not(.hidden)\");
}"""
run_config = CrawlerRunConfig(
cache_mode=CacheMode.BYPASS,
session_id="session_captcha_test",
js_code=js_code,
js_only=True,
wait_for=f"js:{wait_condition}"
)
result_next = await crawler.arun(
url=site_url,
config=run_config,
)
print(result_next.markdown)
if __name__ == "__main__":
asyncio.run(main())
Phân tích mã:
- Gọi phương thức
solvecủa CapSolver: Phương thứccapsolver.solveđược gọi với loạiReCaptchaV3TaskProxyLess,websiteURL,websiteKey, và quan trọng nhất làpageAction. Tham sốpageActionrất quan trọng đối với reCAPTCHA v3 vì nó giúp CapSolver hiểu bối cảnh của reCAPTCHA trên trang và tạo ra token chính xác hơn. - Gắn hook fetch JavaScript:
js_codelà cốt lõi của giải pháp này. Nó định nghĩa lạiwindow.fetch. Khi một yêu cầufetchđược thực hiện đến/recaptcha-v3-verify.php, đoạn mã sẽ bắt nó, sửa đổi URL để bao gồm token do CapSolver cung cấp trong tham sốaction, sau đó cho phépfetchban đầu tiếp tục. Điều này đảm bảo rằng máy chủ nhận được token có điểm số cao từ CapSolver. - Điều kiện chờ đợi:
wait_conditionđảm bảo Crawl4AI chờ đợi một phần tử cụ thể (.step3:not(.hidden)) xuất hiện, cho thấy quá trình xác minh reCAPTCHA v3 đã hoàn tất thành công và trang đã tiến triển.
Phương pháp tích hợp 2: Tích hợp tiện ích mở rộng CapSolver cho reCAPTCHA v3
Đối với reCAPTCHA v3, sử dụng tiện ích mở rộng CapSolver có thể đơn giản hóa quá trình tích hợp, đặc biệt khi mục tiêu là tận dụng khả năng giải CAPTCHA tự động của tiện ích mở rộng. Tiện ích mở rộng được thiết kế để phát hiện và giải reCAPTCHA v3 ở nền, thường được kích hoạt khi truy cập trang web.
Cách hoạt động:
- Bối cảnh trình duyệt duy trì: Cấu hình Crawl4AI sử dụng
user_data_dirđể khởi động một phiên bản trình duyệt duy trì tiện ích mở rộng CapSolver đã cài đặt. - Cấu hình tiện ích mở rộng: Cài đặt tiện ích mở rộng CapSolver trong hồ sơ trình duyệt này và đảm bảo khóa API của bạn đã được cấu hình. Đối với reCAPTCHA v3, thường được khuyến khích để tiện ích mở rộng giải tự động, tức là
manualSolvingnên làfalse(hoặc mặc định). - Điều hướng đến trang đích: Crawl4AI điều hướng đến trang web được bảo vệ bởi reCAPTCHA v3.
- Giải tự động: Tiện ích mở rộng CapSolver, chạy trong bối cảnh trình duyệt, phát hiện reCAPTCHA v3 và giải nó tự động, chèn token khi cần. Điều này thường xảy ra một cách mượt mà ở nền.
- Tiếp tục thực hiện hành động: Sau khi reCAPTCHA v3 được giải bởi tiện ích mở rộng, Crawl4AI có thể tiếp tục các nhiệm vụ trích xuất dữ liệu của mình, vì bối cảnh trình duyệt giờ đây sẽ có các token hợp lệ cần thiết cho các yêu cầu tiếp theo.
Mã ví dụ: Tích hợp tiện ích mở rộng cho reCAPTCHA v3 (giải tự động)
Ví dụ này minh họa cách cấu hình Crawl4AI sử dụng hồ sơ trình duyệt có tiện ích mở rộng CapSolver để giải reCAPTCHA v3 tự động. Yếu tố quan trọng là đảm bảo tiện ích mở rộng được cấu hình đúng trong user_data_dir.
python
import asyncio
import time
from crawl4ai import *
# TODO: thiết lập cấu hình của bạn
user_data_dir = "/browser-profile/Default1" # Đảm bảo đường dẫn này được thiết lập đúng và chứa tiện ích mở rộng đã cấu hình
browser_config = BrowserConfig(
verbose=True,
headless=False,
user_data_dir=user_data_dir,
use_persistent_context=True,
proxy="http://127.0.0.1:13120", # Tùy chọn: cấu hình proxy nếu cần
)
async def main():
async with AsyncWebCrawler(config=browser_config) as crawler:
result_initial = await crawler.arun(
url="https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php", # Sử dụng URL demo reCAPTCHA v3
cache_mode=CacheMode.BYPASS,
session_id="session_captcha_test"
)
# reCAPTCHA v3 thường được giải tự động bởi tiện ích mở rộng khi trang được tải.
# Bạn có thể cần thêm điều kiện chờ hoặc time.sleep để CAPTCHA được giải
# trước khi tiếp tục các hành động khác phụ thuộc vào token.
time.sleep(30) # Ví dụ chờ, điều chỉnh theo nhu cầu của tiện ích mở rộng
# Tiếp tục với các hoạt động khác của Crawl4AI sau khi CAPTCHA được giải
# Ví dụ, kiểm tra các phần tử hoặc nội dung xuất hiện sau khi xác minh thành công
# print(result_initial.markdown) # Bạn có thể kiểm tra nội dung trang sau khi chờ
if __name__ == "__main__":
asyncio.run(main())
Phân tích mã:
user_data_dir: Tương tự như tích hợp tiện ích mở rộng reCAPTCHA v2, tham số này rất quan trọng để Crawl4AI sử dụng một hồ sơ trình duyệt có tiện ích mở rộng CapSolver đã cài đặt và cấu hình. Tiện ích mở rộng sẽ tự động xử lý việc giải reCAPTCHA v3.- Giải tự động: Tiện ích mở rộng CapSolver được thiết kế để tự động phát hiện và giải reCAPTCHA v3. Một
time.sleepđược thêm vào như một ví dụ chung để cho phép tiện ích mở rộng hoàn tất các hoạt động nền. Đối với giải pháp mạnh mẽ hơn, hãy xem xét sử dụng chức năngwait_forcủa Crawl4AI để kiểm tra các thay đổi cụ thể trên trang cho thấy việc giải reCAPTCHA v3 thành công.
Kết luận
Việc giải reCAPTCHA v3 trong trích xuất dữ liệu web yêu cầu một phương pháp tinh vi, do tính chất không hiển thị và cơ chế xác minh động của nó. Việc tích hợp Crawl4AI với CapSolver cung cấp các công cụ mạnh mẽ để vượt qua những thách thức này. Dù thông qua kiểm soát chính xác bằng tích hợp API với việc gắn hook vào fetch JavaScript hay tự động hóa đơn giản nhờ tiện ích mở rộng trình duyệt, các nhà phát triển có thể đảm bảo các hoạt động trích xuất dữ liệu của họ vẫn hiệu quả và không bị gián đoạn.
Bằng cách tận dụng khả năng giải reCAPTCHA v3 chính xác cao của CapSolver và khả năng kiểm soát trình duyệt tiên tiến của Crawl4AI, bạn có thể duy trì tỷ lệ thành công cao trong việc trích xuất dữ liệu từ các trang web được bảo vệ bởi CAPTCHA tiên tiến này. Sự kết hợp này giúp các nhà phát triển xây dựng các hệ thống thu thập dữ liệu web tự động mạnh mẽ và đáng tin cậy hơn.
Tài liệu tham khảo
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 reCaptcha v2 bằng Selenium [Python] với Capsolver Extension](https://assets.capsolver.com/prod/posts/solve-recaptcha-with-selenium-python/9df0c69facb932640c0dd4d2cfa69bbf.jpg)
Cách giải reCAPTCHA V2 bằng Selenium [Python] với Extension CapSolver
Học cách giải reCaptcha v2 một cách mượt mà với Selenium Python và Phần mở rộng Capsolver, một hướng dẫn chi tiết về việc thiết lập và tự động hóa các giải pháp captcha một cách hiệu quả.

Anh Tuan
05-Nov-2025

Tiện ích CapSolver - Giải reCAPTCHA trong Trình duyệt của bạn
Giải reCaptcha v2 / v3 / ẩn / doanh nghiệp trên bất kỳ trang web nào mà không gặp khó khăn bằng Phần mở rộng Giải Captcha Capsolver

Anh Tuan
27-Oct-2025

Cách xử lý reCAPTCHA trong web scraping bằng Python
Học cách giải reCAPTCHA v2 và v3 trong web scraping bằng Python và Capsolver. Hướng dẫn từng bước, tùy chọn proxy và ví dụ mã nguồn để tự động hóa mượt mà.

Anh Tuan
24-Oct-2025

Tự động hóa SEO bằng Công nghệ AI: Làm thế nào để giải Captcha để thu thập dữ liệu SERP thông minh hơn
Khám phá cách Tự động hóa SEO dựa trên AI vượt qua các thách thức CAPTCHA để thu thập dữ liệu SERP thông minh hơn và tìm hiểu về các giải pháp reCAPTCHA v2/v3

Anh Tuan
23-Oct-2025

Cách Giải reCAPTCHA v2: Hướng Dẫn Giải reCAPTCHA v2
Học cách tự động hóa việc giải reCAPTCHA v2 của Google bằng CapSolver. Khám phá tích hợp API và SDK, hướng dẫn từng bước, và mã khuyến mãi để tối ưu hóa việc giải captcha cho các dự án quét web, tự động hóa và phát triển phần mềm.

Anh Tuan
22-Oct-2025

Công cụ giải reCAPTCHA Nhận diện tự động và phương pháp giải
Học cách nhận diện và giải quyết tự động các thách thức reCAPTCHA v2, v3, không hiển thị và doanh nghiệp bằng công nghệ AI và OCR tiên tiến

Anh Tuan
22-Oct-2025


