Scrape website có chống bot, chống proxy (Cloudflare, Akamai, DataDome) — điều gì hiệu quả, đâu là giới hạn
Trong bài này
- 01 Các lớp bảo vệ bạn sẽ gặp
- 02 Đọc tín hiệu: trang đang nói gì với bạn
- 03 Bước 1: tìm cách không cần scrape
- 04 Bước 2: nếu vẫn scrape — giảm dấu chân
- 05 Proxy giúp được gì và không giúp được gì
- 06 Những ranh giới không nên vượt
- 07 Một quy trình hợp lý
- 08 Proxy 4G Singapore của 65Proxy
- 09 Câu hỏi thường gặp
Ngày càng nhiều trang đặt dịch vụ chống bot như Cloudflare, Akamai hay DataDome trước nội dung của họ. Nếu bạn từng thấy script chạy tốt hôm qua bỗng chỉ nhận về trang "Checking your browser" hay một vòng CAPTCHA bất tận, bài này dành cho bạn. Chúng tôi sẽ không hứa một mẹo "vượt mọi lớp bảo vệ" — vì không có mẹo đó, và vì nhiều lớp bảo vệ được dựng lên chính là để nói "không" với việc tự động hoá. Thay vào đó: cách các lớp này hoạt động, cách đọc tín hiệu trang gửi cho bạn, những đường lấy dữ liệu hợp lý, và vai trò thật của proxy.
Các lớp bảo vệ bạn sẽ gặp
Một trang có chống bot thường xếp nhiều lớp, từ rẻ tới đắt:
| Lớp | Nó làm gì | Bạn thấy gì |
|---|---|---|
| Giới hạn tốc độ | Đếm request theo IP, theo phiên | Lỗi 429, trang chậm dần |
| Uy tín IP | Chấm điểm loại IP và lịch sử | 403 ngay từ request đầu với IP máy chủ |
| Thử thách trình duyệt | Chạy JavaScript để xác minh trình duyệt thật | Trang "đang kiểm tra trình duyệt" |
| CAPTCHA | Yêu cầu người thật xác nhận | Ô CAPTCHA, lặp lại nhiều lần |
| Dấu vân tay thiết bị | So khớp trình duyệt, TLS, hệ điều hành | Bị chặn dù IP sạch |
| Chấm điểm hành vi | Theo dõi tốc độ, đường đi, tương tác | Bị chặn sau một lúc chạy |
| Yêu cầu đăng nhập | Chỉ hiện dữ liệu cho tài khoản | Trang đăng nhập |
Chi tiết từng tín hiệu có trong bài website phát hiện proxy bằng cách nào.
Đọc tín hiệu: trang đang nói gì với bạn
Mỗi phản hồi là một thông điệp. Đọc đúng giúp bạn sửa đúng chỗ:
- 429 Too Many Requests — bạn đi quá nhanh. Giảm tốc, tôn trọng
Retry-After. - 403 ngay từ request đầu, nhưng trình duyệt thường qua cùng IP vẫn vào được — chương trình của bạn không giống trình duyệt, hoặc thiếu header cơ bản.
- 403 với mọi chương trình từ một IP máy chủ — trang chặn cả dải IP datacenter.
- Trang thử thách JavaScript — trang nghi ngờ tự động hoá và muốn xác minh trình duyệt.
- CAPTCHA lặp đi lặp lại — trang đã quyết định không muốn lưu lượng này. Đây là lúc dừng lại, không phải lúc tìm cách vượt.
Bảng mã lỗi chi tiết và code xử lý có trong bài lỗi 403, 429, 503 khi scrape.
Bước 1: tìm cách không cần scrape
Trước khi đấu với một hệ thống chống bot, hãy kiểm tra những con đường sau — chúng thường nhanh hơn, rẻ hơn và bền hơn:
- API chính thức, kể cả trả phí. Dữ liệu sạch, có cấu trúc, không bị chặn.
- Bộ dữ liệu công khai — nhiều cơ quan, sàn và tổ chức xuất bản dữ liệu mở.
- Sitemap và RSS — danh sách trang và nội dung mới, được trang cung cấp chính để máy đọc.
- Hỏi xin quyền truy cập. Một email ngắn giải thích bạn cần gì, tần suất bao nhiêu, đôi khi đổi được một quyền truy cập riêng hoặc một file xuất dữ liệu.
- Mua dữ liệu đã được cấp phép từ nhà cung cấp dữ liệu.
Bước 2: nếu vẫn scrape — giảm dấu chân
Nếu dữ liệu công khai, trang không cấm trong điều khoản và robots.txt, và không có lựa chọn nào ở trên:
- Chỉ lấy đúng thứ cần — không tải ảnh, video, trang không liên quan.
- Lưu đệm (cache) — đừng tải lại trang chưa thay đổi; dùng
If-Modified-SincehoặcETagkhi trang hỗ trợ. - Đi chậm — vài giây mỗi request, ít kết nối song song, chạy vào giờ thấp điểm của trang.
- Tự giới thiệu khi phù hợp — một User-Agent có tên công cụ và cách liên hệ giúp quản trị viên liên hệ bạn thay vì chặn.
- Dùng trình duyệt thật khi trang cần JavaScript, đi với tốc độ của người — xem scrape trang JavaScript.
Phần chi tiết về tốc độ và phiên có trong bài cách scrape mà không bị chặn.
Proxy giúp được gì và không giúp được gì
Proxy giúp được:
- Khi trang chặn cả dải IP máy chủ. Nhiều trang chặn IP datacenter nhưng vẫn phục vụ khách dùng mạng di động. IP 4G cho bạn quyền truy cập như một người dùng điện thoại bình thường.
- Khi nội dung khác nhau theo quốc gia — giá, hàng hoá, kết quả tìm kiếm ở Singapore chỉ thấy được với IP Singapore.
- Khi IP hiện tại bị gắn cờ vì người khác — IP di động dùng chung, nên đôi khi bị giới hạn tạm thời; một IP mới giải quyết được.
Proxy không giúp được:
- CAPTCHA và thử thách JavaScript — chúng kiểm tra chương trình và hành vi của bạn, không chỉ IP.
- Dấu vân tay — TLS và trình duyệt là của chương trình bạn chạy.
- Hành vi — đi quá nhanh qua IP sạch nhất vẫn bị giới hạn.
- Trang yêu cầu đăng nhập — proxy không thay đổi quyền truy cập của bạn.
Một trang "chống proxy" khó chặn IP di động mà không chặn khách thật, nhưng họ vẫn giới hạn theo từng IP. Proxy 4G giúp bạn bắt đầu như một khách bình thường; phần còn lại phụ thuộc vào cách bạn cư xử.
Những ranh giới không nên vượt
Đây là những việc chúng tôi không hướng dẫn và khuyên bạn đừng làm:
- Dùng dịch vụ giải CAPTCHA để vượt CAPTCHA hàng loạt — CAPTCHA tồn tại để chặn đúng việc đó.
- Dùng proxy để tiếp tục sau khi đã bị chặn rõ ràng hoặc đã nhận yêu cầu dừng. Ở một số nước, việc này từng bị toà án xem là truy cập trái phép — xem scrape dữ liệu có hợp pháp không.
- Lấy dữ liệu sau đăng nhập trái với điều khoản, hoặc tạo tài khoản giả để làm việc đó.
- Thu thập dữ liệu cá nhân — tên, số điện thoại, email — mà không có cơ sở pháp lý.
- Gửi lưu lượng đủ lớn để làm chậm trang. Đó là gây hại cho người khác, không còn là thu thập dữ liệu.
Một quy trình hợp lý
- Tìm API, dữ liệu mở, sitemap; hỏi xin quyền nếu cần.
- Đọc robots.txt và điều khoản; chỉ lấy dữ liệu công khai, không phải dữ liệu cá nhân.
- Thử từng trang bằng tay qua proxy trước khi viết code.
- Viết scraper chậm, có cache, có xử lý 429 và
Retry-After. - Theo dõi tỉ lệ lỗi; khi gặp thử thách hay CAPTCHA lặp lại, dừng và xem lại thay vì tăng tốc hay thêm IP.
Proxy 4G Singapore của 65Proxy
Proxy của chúng tôi dùng IP nhà mạng di động Singapore, đổi IP theo yêu cầu bằng link hoặc API (tối đa một lần mỗi 5 phút), 200GB mỗi gói, giá 1 ngày $4, 7 ngày $13, 1 tháng $40. Nó hợp với việc truy cập dữ liệu công khai mà trang chặn IP máy chủ, và dữ liệu chỉ hiện với khách Singapore. Nó không phải công cụ vượt CAPTCHA hay vượt lệnh chặn — và chúng tôi sẽ không quảng cáo nó như vậy. Xem proxy cho thu thập dữ liệu web và bảng giá.
Câu hỏi thường gặp
Proxy 4G có vượt được Cloudflare không?
Không có proxy nào "vượt" được Cloudflare. IP di động thường gặp ít thử thách hơn IP máy chủ khi bạn duyệt web bình thường, nhưng nếu trang đã bật thử thách cho lưu lượng tự động, đó là quyết định của chủ trang và không IP nào thay đổi được điều đó.
Có nên dùng dịch vụ giải CAPTCHA không?
Chúng tôi không khuyên. CAPTCHA là cách chủ trang nói rõ họ không muốn tự động hoá ở đó. Vượt nó làm tăng rủi ro pháp lý và gần như chắc chắn vi phạm điều khoản của trang.
Trang có thử thách nhưng dữ liệu là công khai — phải làm sao?
Hãy hỏi chủ trang về API hoặc quyền truy cập, tìm nguồn dữ liệu khác, hoặc lấy với tần suất rất thấp bằng trình duyệt thật như một người dùng. Nếu trang vẫn chặn, hãy tôn trọng quyết định đó.