Cách giải Captcha trong Agno với tích hợp CapSolver

Anh Tuan
Data Science Expert
13-Jan-2026

Khi tự động hóa dựa trên AI trở nên thực tế hơn trong các quy trình thực tế, Agno đã xuất hiện như một khung phần mềm nhanh và lấy quyền riêng tư làm trọng tâm để xây dựng các hệ thống đa tác nhân tự động. Khi các tác nhân này tương tác với các trang web thông qua việc quét, thu thập dữ liệu hoặc lướt web tự động, CAPTCHA thường trở thành một vấn đề.
CapSolver giúp giải quyết vấn đề này bằng cách cho phép các tác nhân Agno xử lý trang web được bảo vệ bởi CAPTCHA một cách đáng tin cậy mà không làm gián đoạn quy trình tự động hóa. Cùng nhau, Agno và CapSolver giúp xây dựng tự động hóa quy mô lớn, không cần can thiệp thủ công, hoạt động trên các trang web thực tế.
Agno là gì?
Agno là một khung phần mềm đa tác nhân mã nguồn mở và môi trường chạy để xây dựng các hệ thống AI chạy hoàn toàn trong cơ sở hạ tầng của bạn. Nó được thiết kế với hiệu suất và quyền riêng tư làm trọng tâm—không có máy chủ điều khiển bên ngoài và không có dữ liệu rời khỏi môi trường của bạn.
Tính năng chính của Agno
- Hiệu suất cao: Nhanh hơn và hiệu quả bộ nhớ hơn nhiều so với nhiều khung phần mềm tác nhân
- Lấy quyền riêng tư làm trọng tâm: Hoàn toàn tự lưu trữ, với kiểm soát hoàn toàn về dữ liệu và thực thi
- Hệ thống tác nhân đa dạng: Các tác nhân có thể hợp tác, chuyên môn hóa và phối hợp nhiệm vụ
- Tính linh hoạt về mô hình: Hỗ trợ OpenAI, Anthropic, Google và nhiều nhà cung cấp khác
- Môi trường chạy sẵn sàng cho sản xuất: Bao gồm môi trường chạy dựa trên FastAPI để triển khai các tác nhân
- Công cụ phong phú: Các công cụ tích hợp cho tự động hóa web, API, cơ sở dữ liệu và nhiều hơn nữa
- Bộ nhớ bền vững: Các tác nhân có thể duy trì ngữ cảnh qua các phiên với RAG tác nhân và 20+ kho vector
Kiến trúc cốt lõi
| Thành phần | Mô tả |
|---|---|
| Tác nhân | Các đơn vị AI tự động với bộ nhớ, công cụ và tích hợp mô hình |
| Nhóm | Nhóm các tác nhân hợp tác trên các nhiệm vụ phức tạp |
| Quy trình làm việc | Các ống dẫn được cấu trúc cho việc thực thi có tính dự đoán |
| AgentOS | Môi trường chạy FastAPI cho triển khai sản xuất |
CapSolver là gì?
CapSolver là dịch vụ giải CAPTCHA hàng đầu cung cấp các giải pháp dựa trên AI để vượt qua các thách thức CAPTCHA khác nhau. Với hỗ trợ cho nhiều loại CAPTCHA và thời gian phản hồi nhanh như chớp, CapSolver tích hợp liền mạch vào các quy trình tự động hóa.
Các loại CAPTCHA được hỗ trợ
- reCAPTCHA v2 (Hình ảnh & Không nhìn thấy được)
- reCAPTCHA v3
- Cloudflare Turnstile
- Thách thức Cloudflare (5 giây)
- AWS WAF
- Và nhiều hơn nữa...
Tại sao tích hợp CapSolver với Agno?
Khi xây dựng các tác nhân Agno tương tác với các trang web—dù là để thu thập dữ liệu, kiểm thử tự động hoặc tổng hợp nội dung—các thách thức CAPTCHA trở thành rào cản đáng kể. Để hiểu sâu hơn về cách giải CAPTCHA trong môi trường trình duyệt tự động, hãy xem hướng dẫn của chúng tôi về cách giải CAPTCHA trong Puppeteer. Dưới đây là lý do tại sao tích hợp này quan trọng:
- Quy trình làm việc của tác nhân không gián đoạn: Các tác nhân có thể hoàn thành nhiệm vụ của họ mà không cần can thiệp thủ công. Để tìm thêm giải pháp về CAPTCHA trong quét web, tham khảo bài viết của chúng tôi: Cách tốt nhất để giải CAPTCHA khi quét web.
- Bảo vệ quyền riêng tư: Cả Agno và CapSolver cho phép bạn duy trì kiểm soát dữ liệu của mình
- Tự động hóa quy mô lớn: Xử lý nhiều thách thức CAPTCHA trên các hoạt động tác nhân song song
- Chi phí hiệu quả: Chỉ trả tiền cho các CAPTCHA được giải thành công
- Tỷ lệ thành công cao: Độ chính xác hàng đầu trong tất cả các loại CAPTCHA được hỗ trợ.
Cài đặt
Đầu tiên, cài đặt các gói cần thiết:
bash
pip install agno
pip install requests
Agno là không phụ thuộc vào mô hình với hỗ trợ tích hợp cho 23+ nhà cung cấp LLM:
python
# OpenAI
from agno.models.openai import OpenAIChat
# Anthropic Claude
from agno.models.anthropic import Claude
# Google Gemini
from agno.models.google import Gemini
# Và nhiều hơn nữa...
Tạo Công cụ CapSolver Tùy chỉnh cho Agno
Agno cho phép bạn tạo các công cụ tùy chỉnh mà các tác nhân có thể sử dụng để hoàn thành nhiệm vụ của họ. Dưới đây là cách tạo một công cụ CapSolver để xử lý các thách thức CAPTCHA:
Triển khai Cơ bản Công cụ CapSolver
python
import requests
import time
from agno.tools import tool
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_captcha(
website_url: str,
website_key: str,
captcha_type: str = "ReCaptchaV2TaskProxyLess"
) -> str:
"""
Giải các thách thức CAPTCHA bằng API CapSolver.
Args:
website_url: URL của trang web có CAPTCHA
website_key: Khóa trang của CAPTCHA
captcha_type: Loại CAPTCHA (ReCaptchaV2TaskProxyLess, ReCaptchaV3TaskProxyLess, AntiTurnstileTaskProxyLess)
Returns:
Token giải CAPTCHA
"""
# Tạo nhiệm vụ
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": captcha_type,
"websiteURL": website_url,
"websiteKey": website_key
}
}
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi tạo nhiệm vụ: {result.get('errorDescription')}"
task_id = result.get("taskId")
# Kiểm tra kết quả
for _ in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
solution = result.get("solution", {})
return solution.get("gRecaptchaResponse") or solution.get("token")
elif result.get("status") == "failed":
return f"Nhiệm vụ thất bại: {result.get('errorDescription')}"
return "Đợi giải CAPTCHA hết thời gian"
Giải Các Loại CAPTCHA Khác Nhau
Người giải reCAPTCHA v2
python
import requests
import time
from agno.tools import tool
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_recaptcha_v2(website_url: str, website_key: str) -> str:
"""
Giải các thách thức reCAPTCHA v2 bằng CapSolver.
Args:
website_url: URL của trang web có reCAPTCHA v2
website_key: Khóa trang (thuộc tính data-sitekey)
Returns:
Token g-recaptcha-response
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
}
# Tạo nhiệm vụ
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
# Kiểm tra kết quả
for attempt in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["gRecaptchaResponse"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Đợi giải pháp hết thời gian"
Người giải reCAPTCHA v3
python
import requests
import time
from agno.tools import tool
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_recaptcha_v3(
website_url: str,
website_key: str,
page_action: str = "submit",
min_score: float = 0.7
) -> str:
"""
Giải các thách thức reCAPTCHA v3 với xác minh dựa trên điểm số.
Args:
website_url: URL của trang web có reCAPTCHA v3
website_key: Khóa trang của reCAPTCHA
page_action: Tham số hành động cho reCAPTCHA v3
min_score: Điểm số tối thiểu yêu cầu (0.1 đến 0.9)
Returns:
Token g-recaptcha-response
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key,
"pageAction": page_action,
"minScore": min_score
}
}
# Tạo nhiệm vụ
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
# Kiểm tra kết quả
for attempt in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["gRecaptchaResponse"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Đợi giải pháp hết thời gian"
Người giải Cloudflare Turnstile
python
import requests
import time
from agno.tools import tool
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_turnstile(website_url: str, website_key: str) -> str:
"""
Giải các thách thức Cloudflare Turnstile.
Args:
website_url: URL của trang web có Turnstile
website_key: Khóa trang của widget Turnstile
Returns:
Token Turnstile
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
}
# Tạo nhiệm vụ
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
# Kiểm tra kết quả
for attempt in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["token"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Đợi giải pháp hết thời gian"
Người giải Thách thức Cloudflare (5 giây)
python
import requests
import time
from agno.tools import tool
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_cloudflare_challenge(website_url: str, proxy: str) -> dict:
"""
Giải các trang bảo vệ Cloudflare 5 giây.
Args:
website_url: URL của trang được bảo vệ
proxy: Proxy theo định dạng: http://user:pass@ip:port
Returns:
Từ điển chứa cookie và user_agent để truy cập trang được bảo vệ
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "AntiCloudflareTask",
"websiteURL": website_url,
"proxy": proxy
}
}
# Tạo nhiệm vụ
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return {"error": result.get('errorDescription')}
task_id = result.get("taskId")
# Kiểm tra kết quả
for attempt in range(60):
time.sleep(3)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return {
"cookies": result["solution"]["cookies"],
"user_agent": result["solution"]["userAgent"]
}
if result.get("status") == "failed":
return {"error": result.get('errorDescription')}
return {"error": "Đợi giải pháp hết thời gian"}
Ví dụ Hoàn chỉnh về Tác nhân Agno
Dưới đây là một ví dụ hoàn chỉnh về tác nhân Agno sử dụng CapSolver để xử lý các thách thức CAPTCHA:
python
import os
import requests
import time
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools import tool
# Cấu hình
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"
@tool
def solve_recaptcha_v2(website_url: str, website_key: str) -> str:
"""
Giải các thách thức reCAPTCHA v2 bằng CapSolver.
Args:
website_url: URL của trang web có reCAPTCHA v2
website_key: Khóa trang (thuộc tính data-sitekey)
Returns:
Token g-recaptcha-response hoặc thông báo lỗi
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
}
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
for _ in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["gRecaptchaResponse"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Hết thời gian chờ giải pháp"
@tool
def solve_turnstile(website_url: str, website_key: str) -> str:
"""
Giải các thách thức Cloudflare Turnstile.
Args:
website_url: URL của trang web có Turnstile
website_key: Khóa trang của widget Turnstile
Returns:
Token Turnstile hoặc thông báo lỗi
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
}
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
for _ in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["token"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Hết thời gian chờ giải pháp"
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["token"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Hết thời gian"
@tool
def check_capsolver_balance() -> str:
"""
Kiểm tra số dư tài khoản CapSolver hiện tại.
Trả về:
Thông tin số dư hiện tại
"""
response = requests.post(
"https://api.capsolver.com/getBalance",
json={"clientKey": CAPSOLVER_API_KEY}
)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
return f"Số dư: ${result.get('balance', 0):.4f}"
# Tạo Agent Dò tìm Trang Web
web_scraper_agent = Agent(
name="Agent Dò tìm Trang Web",
model=OpenAIChat(id="gpt-4o"),
tools=[solve_recaptcha_v2, solve_turnstile, check_capsolver_balance],
description="Chuyên gia dò tìm trang web có khả năng xử lý CAPTCHA tự động",
instructions=[
"Bạn là chuyên gia dò tìm trang web với khả năng xử lý CAPTCHA.",
"Khi gặp CAPTCHA, xác định loại và sử dụng bộ giải thích hợp.",
"Đối với reCAPTCHA v2, sử dụng solve_recaptcha_v2 với URL và site key.",
"Đối với Turnstile, sử dụng solve_turnstile với URL và site key.",
"Luôn kiểm tra số dư trước khi bắt đầu các công việc dò tìm lớn."
],
markdown=True
)
def main():
print("=" * 60)
print("Demo Tích hợp Agno + CapSolver")
print("=" * 60)
# Nhiệm vụ: Giải quyết thách thức CAPTCHA
task = """
Tôi cần bạn giải quyết thách thức CAPTCHA reCAPTCHA v2.
URL Trang web: https://www.google.com/recaptcha/api2/demo
Site Key: 6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-
Vui lòng giải CAPTCHA này và báo cáo 50 ký tự đầu tiên của token.
Đồng thời kiểm tra số dư CapSolver của tôi trước khi bắt đầu.
"""
response = web_scraper_agent.run(task)
print("\nPhản hồi của Agent:")
print(response.content)
if __name__ == "__main__":
main()
Sử dụng Teams Agno với CapSolver
Agno hỗ trợ các nhóm tác nhân đa dạng. Dưới đây là cách tạo một nhóm với các tác nhân chuyên giải CAPTCHA:
python
from agno.agent import Agent
from agno.team import Team
from agno.models.openai import OpenAIChat
from agno.tools import tool
import requests
import time
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_any_captcha(
website_url: str,
website_key: str,
captcha_type: str = "ReCaptchaV2TaskProxyLess"
) -> str:
"""Bộ giải CAPTCHA toàn diện hỗ trợ nhiều loại."""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": captcha_type,
"websiteURL": website_url,
"websiteKey": website_key
}
}
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
for _ in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
solution = result.get("solution", {})
return solution.get("gRecaptchaResponse") or solution.get("token")
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Hết thời gian"
# Tác nhân Chuyên gia CAPTCHA
captcha_agent = Agent(
name="Tác nhân Chuyên gia CAPTCHA",
model=OpenAIChat(id="gpt-4o"),
tools=[solve_any_captcha],
description="Chuyên gia nhận diện và giải CAPTCHA các loại",
instructions=[
"Nhận diện loại CAPTCHA từ phân tích trang",
"Sử dụng bộ giải thích hợp với tham số đúng",
"Báo cáo thành công hoặc thất bại một cách rõ ràng"
]
)
# Tác nhân Trích xuất Dữ liệu
data_agent = Agent(
name="Tác nhân Trích xuất Dữ liệu",
model=OpenAIChat(id="gpt-4o"),
description="Trích xuất và xử lý dữ liệu từ trang web",
instructions=[
"Trích xuất dữ liệu có cấu trúc từ nội dung HTML",
"Yêu cầu giải CAPTCHA khi cần",
"Xác minh và làm sạch dữ liệu trích xuất"
]
)
# Tạo nhóm
scraping_team = Team(
name="Nhóm Dò tìm Trang Web",
agents=[captcha_agent, data_agent],
description="Nhóm chuyên về dò tìm trang web với xử lý CAPTCHA"
)
Cách Gửi Token CAPTCHA
Mỗi loại CAPTCHA yêu cầu phương pháp gửi khác nhau:
reCAPTCHA v2/v3 - Chèn Token
python
from selenium import webdriver
from selenium.webdriver.common.by import By
def submit_recaptcha_token(driver, token: str):
"""Chèn token reCAPTCHA và gửi"""
recaptcha_response = driver.find_element(By.ID, "g-recaptcha-response")
driver.execute_script("arguments[0].style.display = 'block';", recaptcha_response)
recaptcha_response.clear()
recaptcha_response.send_keys(token)
form = driver.find_element(By.TAG_NAME, "form")
form.submit()
Turnstile - Chèn Token
python
def submit_turnstile_token(driver, token: str):
"""Chèn token Turnstile và gửi"""
turnstile_input = driver.find_element(By.NAME, "cf-turnstile-response")
driver.execute_script("arguments[0].value = arguments[1];", turnstile_input, token)
form = driver.find_element(By.TAG_NAME, "form")
form.submit()
Thách thức Cloudflare - Sử dụng Cookie
python
import requests
def access_cloudflare_protected_page(url: str, cf_solution: dict):
"""Sử dụng giải pháp Cloudflare Challenge để truy cập trang bị bảo vệ."""
session = requests.Session()
for cookie in cf_solution["cookies"]:
session.cookies.set(cookie["name"], cookie["value"])
headers = {"User-Agent": cf_solution["user_agent"]}
response = session.get(url, headers=headers)
return response.text
Nguyên Tắc Tốt
1. Xử lý Lỗi với Thử lại Tự động
python
from agno.tools import tool
import time
@tool
def solve_with_retry(
website_url: str,
website_key: str,
max_retries: int = 3
) -> str:
"""Giải CAPTCHA với thử lại tự động khi thất bại."""
for attempt in range(max_retries):
try:
result = solve_recaptcha_v2(website_url, website_key)
if not result.startswith("Lỗi") and not result.startswith("Thất bại"):
return result
except Exception as e:
if attempt == max_retries - 1:
return f"Tất cả các lần thử đều thất bại: {str(e)}"
time.sleep(2 ** attempt) # Backoff theo cấp số nhân
return "Quá số lần thử tối đa"
2. Quản lý Số dư
python
@tool
def check_balance() -> float:
"""Kiểm tra số dư tài khoản CapSolver."""
response = requests.post(
"https://api.capsolver.com/getBalance",
json={"clientKey": CAPSOLVER_API_KEY}
)
return response.json().get("balance", 0)
3. Hỗ trợ Async
Agno hỗ trợ các hoạt động async để cải thiện hiệu suất:
python
import asyncio
import aiohttp
from agno.tools import tool
@tool
async def solve_captcha_async(website_url: str, website_key: str) -> str:
"""Bộ giải CAPTCHA async để cải thiện khả năng đồng thời."""
async with aiohttp.ClientSession() as session:
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
}
async with session.post(
"https://api.capsolver.com/createTask",
json=payload
) as response:
result = await response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
for _ in range(60):
await asyncio.sleep(2)
async with session.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
) as response:
result = await response.json()
if result.get("status") == "ready":
solution = result.get("solution", {})
return solution.get("gRecaptchaResponse") or solution.get("token")
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Hết thời gian"
Kết luận
Việc tích hợp CapSolver với Agno mở ra tiềm năng đầy đủ của các tác nhân AI tự động cho các nhiệm vụ dựa trên web. Bằng cách kết hợp khả năng điều phối đa tác nhân nhanh chóng, bảo mật cao của Agno với khả năng giải CAPTCHA hàng đầu của CapSolver, các nhà phát triển có thể xây dựng các giải pháp tự động đáng tin cậy có thể xử lý các cơ chế bảo vệ web phức tạp nhất.
Dù bạn đang xây dựng các quy trình trích xuất dữ liệu, khung kiểm tra tự động hay các tác nhân web thông minh, sự kết hợp giữa Agno và CapSolver cung cấp tốc độ, độ tin cậy và khả năng mở rộng cần thiết cho môi trường sản xuất.
Sẵn sàng bắt đầu chưa? Đăng ký CapSolver và sử dụng mã khuyến mãi AGNO để nhận thêm 6% khuyến mãi cho lần nạp đầu tiên!
Câu hỏi Thường Gặp
Agno là gì?
Agno là khung đa tác nhân, môi trường chạy và bảng điều khiển để xây dựng sản phẩm AI. Nó nhanh hơn 529 lần so với LangGraph với mức sử dụng bộ nhớ thấp hơn 24 lần, và chạy hoàn toàn trên cơ sở hạ tầng của bạn để đảm bảo quyền riêng tư tối đa.
Cách CapSolver tích hợp với Agno?
CapSolver tích hợp với Agno thông qua các công cụ tùy chỉnh được đánh dấu bằng @tool. Bạn tạo các hàm bao quanh API của CapSolver, cho phép các tác nhân AI của bạn tự động giải CAPTCHA khi gặp phải trong quá trình hoạt động web.
Những loại CAPTCHA nào CapSolver có thể giải?
CapSolver hỗ trợ nhiều loại CAPTCHA như reCAPTCHA v2, reCAPTCHA v3, Cloudflare Turnstile, Cloudflare Challenge, AWS WAF, GeeTest và nhiều loại khác.
Giá của CapSolver là bao nhiêu?
CapSolver cung cấp giá cả cạnh tranh dựa trên loại và khối lượng CAPTCHA được giải. Truy cập capsolver.com để xem chi tiết giá cả hiện tại. Sử dụng mã AGNO để nhận 5% khuyến mãi cho lần nạp đầu tiên.
Tôi có thể sử dụng Agno với các nhà cung cấp LLM khác không?
Có! Agno không phụ thuộc vào mô hình và hỗ trợ 50+ nhà cung cấp mô hình như OpenAI, Anthropic Claude, Google Gemini, Groq và nhiều nhà cung cấp khác.
Agno có miễn phí không?
Có, Agno là mã nguồn mở và được phát hành dưới giấy phép MIT. Khung phần mềm miễn phí để sử dụng, tuy nhiên bạn có thể phát sinh chi phí cho các cuộc gọi API LLM và dịch vụ giải CAPTCHA như CapSolver.
Làm thế nào để tìm key site CAPTCHA?
Key site thường được tìm thấy trong mã nguồn HTML của trang. Tìm kiếm:
- reCAPTCHA: thuộc tính
data-sitekeyhoặc gọigrecaptcha.render() - Turnstile: thuộc tính
data-sitekeytrong widget Turnstile
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

Giải quyết lỗi 403 Truy cập bị từ chối khi quét trang web bằng Python
Học cách vượt qua các lỗi 403 Forbidden khi quét trang web bằng Python. Hướng dẫn này bao gồm quay vòng IP, giả mạo user-agent, kiểm soát tần suất yêu cầu, xử lý xác thực và sử dụng trình duyệt không đầu để vượt qua các hạn chế truy cập và tiếp tục quét web thành công.

Sora Fujimoto
13-Jan-2026

Cách giải Captcha trong Agno với tích hợp CapSolver
Học cách tích hợp CapSolver với Agno để giải các bài kiểm tra reCAPTCHA v2/v3, Cloudflare Turnstile và WAF trong các tác nhân AI tự động. Bao gồm các ví dụ Python thực tế cho việc quét web và tự động hóa.

Anh Tuan
13-Jan-2026

Tích hợp Katana với CapSolver: Giải CAPTCHA tự động cho quét web
Học cách tích hợp Katana với Capsolver để giải tự động reCAPTCHA v2 và Cloudflare Turnstile trong quét không cần giao diện.

Anh Tuan
12-Jan-2026

Top Thư viện Thu thập dữ liệu web 2026
Khám phá các thư viện quét web Python tốt nhất năm 2026. So sánh tính năng, dễ sử dụng và hiệu suất cho nhu cầu trích xuất dữ liệu của bạn. Bao gồm các phân tích chuyên gia và Câu hỏi thường gặp.

Anh Tuan
12-Jan-2026

Tích hợp Crawlab với CapSolver: Giải CAPTCHA tự động cho việc quét dữ liệu phân tán
Học cách tích hợp CapSolver với Crawlab để giải quyết reCAPTCHA và Cloudflare Turnstile ở quy mô lớn.

Anh Tuan
09-Jan-2026

Những Công Cụ Gỡ Dữ Liệu Trí Tuệ Nhân Tạo Tốt Nhất Bạn Phải Biết Năm 2026
Khám phá các lựa chọn công cụ quét AI tốt nhất năm 2026. Chúng tôi so sánh các công cụ quét web AI hàng đầu, bao gồm Bright Data, Crawl4AI và Browse AI, với giá cả cụ thể để giúp bạn thành thạo việc trích xuất dữ liệu tự động và giải quyết các thách thức bảo mật.

Aloísio Vítor
07-Jan-2026


