
Anh Tuan
Data Science Expert

Nếu bạn đã từng thử web scraping, bạn có thể đã gặp phải CAPTCHA—những bài kiểm tra "chứng minh bạn là người" khó chịu chặn các yêu cầu tự động. Trong hướng dẫn này, tôi sẽ chia sẻ các chiến lược khả thi để giảm thiểu sự gián đoạn của CAPTCHA và chỉ cho bạn cách xử lý chúng khi chúng xuất hiện. Hãy bắt đầu thôi!
CAPTCHA được thiết kế để chặn bot, điều đó có nghĩa là trình thu thập dữ liệu của bạn có thể bị gắn cờ nếu:
Mẹo: Bắt đầu bằng cách bắt chước hành vi của con người: làm chậm yêu cầu của bạn, luân phiên user agent và sử dụng proxy. Nhưng nếu CAPTCHA vẫn xuất hiện, bạn sẽ cần một giải pháp mạnh mẽ hơn.
Khi việc tránh né không đủ, các dịch vụ như Capsolver có thể tự động giải quyết CAPTCHA. Đây là cách nó hoạt động:
# pip install requests
import requests
import time
api_key = "YOUR_API_KEY" # Thay thế bằng khóa Capsolver của bạn
site_key = "" # Từ trang web mục tiêu
site_url = "" # URL mục tiêu của bạn
def solve_captcha():
payload = {
"clientKey": api_key,
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteKey": site_key,
"websiteURL": site_url
}
}
response = requests.post("https://api.capsolver.com/createTask", json=payload)
task_id = response.json().get("taskId")
# Lấy kết quả
while True:
time.sleep(3)
result = requests.post("https://api.capsolver.com/getTaskResult", json={"clientKey": api_key, "taskId": task_id})
status = result.json().get("status")
if status == "ready":
return result.json()["solution"]["gRecaptchaResponse"]
elif status == "failed":
print("Không thể giải quyết CAPTCHA")
return None
captcha_token = solve_captcha()
print(f"Mã CAPTCHA đã giải quyết: {captcha_token}")
Cách thức hoạt động:
Vẫn đang gặp khó khăn với việc liên tục thất bại trong việc giải quyết hoàn toàn các captcha trong khi thực hiện webscraping?
Nhận mã khuyến mãi Mã Khuyến Mãi của bạn cho các giải pháp captcha hàng đầu -CapSolver: CAPTCHA. Sau khi đổi mã, 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
Không phải tất cả các trang web đều sử dụng CAPTCHA. Hãy thu thập dữ liệu từ books.toscrape.com, một sandbox không có CAPTCHA:
import requests
from bs4 import BeautifulSoup
url = "http://books.toscrape.com/"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
# Trích xuất tiêu đề và giá sách
for book in soup.select("article.product_pod"):
title = book.h3.a["title"]
price = book.select(".price_color")[0].get_text()
print(f"Tiêu đề: {title}, Giá: {price}")
Tại sao điều này hoạt động:
Trang web này không có các biện pháp chống bot, nhưng luôn kiểm tra robots.txt của trang web trước khi thu thập dữ liệu.
Trước khi giải quyết CAPTCHA, bạn cần biết loại của nó (ví dụ: reCAPTCHA v2, hCaptcha). Sử dụng các công cụ như Hướng dẫn Xác định CAPTCHA của Capsolver để:
sitekey hoặc pageurl.Ví dụ về tham số cho reCAPTCHA v2:
websiteKey: "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"websiteURL: URL của trang mục tiêu của bạn.time.sleep().User-Agent và Accept-Language của trình duyệt.Chúng sử dụng sự kết hợp của AI và người lao động để giải quyết CAPTCHA và trả về mã thông báo để tự động hóa.
Hầu hết các loại phổ biến (reCAPTCHA, hCaptcha) có thể được giải quyết, nhưng các loại nâng cao yêu cầu các phương pháp tinh vi hơn.
CAPTCHA là một trở ngại, nhưng không phải là một điểm chết. Kết hợp các thực tiễn thu thập dữ liệu thông minh với các công cụ như Capsolver để giảm thiểu sự gián đoạn. Thu thập dữ liệu vui vẻ! 🚀
Xây dựng API giải eCAPTCHA v2/v3 bằng CapSolver và n8n. Tìm hiểu cách tự động hóa việc giải token, gửi token đến website và trích xuất dữ liệu được bảo vệ mà không cần lập trình.

Khám phá AI tốt nhất để giải các câu đố hình ảnh. Học cách Vision Engine và APIs ImageToText của CapSolver tự động hóa các thách thức thị giác phức tạp với độ chính xác cao.
