Quay Lại BlogMẹo

10 Mẹo Giảm Gặp CAPTCHA Khi Thu Thập Dữ Liệu Web

Các chiến lược đã được chứng minh để giảm thiểu kích hoạt CAPTCHA: điều chỉnh request, xoay header, proxy residential và mẫu hành vi.

Đội ngũ reGOTCHA17 tháng 12, 20255 phút đọc
10 Mẹo Giảm Gặp CAPTCHA Khi Thu Thập Dữ Liệu Web

Tại Sao CAPTCHA Kích Hoạt

Hiểu tại sao CAPTCHA xuất hiện giúp bạn tránh chúng. Các nguyên nhân phổ biến bao gồm:

  • Mẫu request bất thường (tốc độ, số lượng, thời gian)
  • Thiếu hoặc fingerprint trình duyệt đáng ngờ
  • Địa chỉ IP datacenter đã biết
  • Hành vi chuột/bàn phím bất thường
  • Thiếu hoặc cookie cũ

10 Mẹo Thiết Yếu

1. Điều Chỉnh Nhịp Request

Ngẫu nhiên hóa độ trễ giữa các request để bắt chước hành vi con người:

example.py
import random
import time

def human_delay():
    # Độ trễ ngẫu nhiên 2-5 giây
    delay = random.uniform(2, 5)
    # Thỉnh thoảng nghỉ lâu hơn
    if random.random() < 0.1:
        delay += random.uniform(5, 15)
    time.sleep(delay)

2. Xoay User Agent

Sử dụng pool user agent trình duyệt thật, cập nhật:

example.py
USER_AGENTS = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36...",
    # Thêm 10-20 user agent thật
]

headers = {"User-Agent": random.choice(USER_AGENTS)}

3. Sử Dụng Proxy Residential

IP datacenter dễ bị phát hiện. Proxy residential hoặc mobile hòa trộn tốt hơn.

4. Duy Trì Session Cookie

Giữ cookie qua các request để duy trì session hợp lệ:

example.py
import httpx

# Sử dụng client session để giữ cookie
with httpx.Client() as client:
    client.get("https://site.com")  # Lần đầu đặt cookie
    client.get("https://site.com/data")  # Các request sau dùng cookie

5. Hoàn Thiện Browser Fingerprint

Đảm bảo trình duyệt headless vượt qua kiểm tra fingerprint:

example.js
// Sử dụng puppeteer-extra với stealth plugin
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());

6. Mô Phỏng Điều Hướng Con Người

Đừng nhảy trực tiếp đến trang mục tiêu - điều hướng tự nhiên qua trang web.

7. Xử Lý JavaScript Đúng Cách

Nhiều trigger CAPTCHA dựa vào kiểm tra JavaScript. Sử dụng trình duyệt thật hoặc render JS.

8. Tôn Trọng Giới Hạn robots.txt

Dù không bị ràng buộc bởi robots.txt, crawl-delay của nó gợi ý tốc độ an toàn.

9. Khớp IP Địa Lý

Khớp vị trí proxy với địa lý người dùng dự kiến của trang web.

10. Triển Khai Circuit Breaker

Khi CAPTCHA tăng, lui lại trước khi bị chặn:

example.py
class CircuitBreaker:
    def __init__(self, threshold=5, cooldown=300):
        self.failures = 0
        self.threshold = threshold
        self.cooldown = cooldown
        self.last_failure = 0

    def record_failure(self):
        self.failures += 1
        self.last_failure = time.time()

        if self.failures >= self.threshold:
            raise Exception(f"Circuit mở - nghỉ {self.cooldown}s")

    def record_success(self):
        self.failures = 0
Quan Trọng: Dù có những tối ưu này, một số CAPTCHA không thể tránh khỏi. Luôn có giải pháp giải CAPTCHA như reGOTCHA làm dự phòng.
Thu thập webMẹoPhương pháp tốtTự động hóa

Sẵn sàng giải quyết CAPTCHA theo quy mô?

Bắt đầu với 50 tín dụng miễn phí. Không cần thẻ tín dụng.