Nếu muốn làm Web Scraping như các tập đoàn lớn (2021)
(incolumitas.com)Dưới đây là phần tóm tắt các ý chính từ bài viết, được trình bày dưới dạng danh sách gạch đầu dòng bằng Markdown:
Xây dựng hạ tầng scraping quy mô lớn
- Chạy Headless Chrome trên AWS Lambda để scrape hàng triệu kết quả Google SERP mỗi tuần
- Gọi hàm Lambda 3 lần có thể nhận được public IP mới
- Nếu gọi đồng thời 1000 hàm Lambda thì có thể sử dụng khoảng 250 public IP
- Dùng 16 region thì có thể sử dụng khoảng 4000 địa chỉ public IP
- Nhưng cách này chỉ hoạt động với các trang như Google, Bing, Amazon. Với các trang dùng giải pháp chống bot như DataDome, Akamai, Imperva thì sẽ không hiệu quả
- Các giải pháp chống bot sử dụng nhiều kỹ thuật như browser fingerprinting, phát hiện nói dối, phát hiện hành vi khác với con người, v.v.
- Lý do khó tránh bị phát hiện là vì phần lớn đều chạy trên cloud bằng Docker hoặc Kubernetes
Đề xuất hạ tầng scraping có thể mở rộng và khó bị phát hiện
- Mua 500 thiết bị Android giá rẻ từ 5 nhà sản xuất
- Dùng gói dữ liệu rẻ, điều khiển thiết bị bằng DeviceFarmer/stf
- Triển khai mỗi nơi 100 thiết bị tại 5 thành phố lớn như London, Paris, Boston, Frankfurt, LA
- Cài Android Go bản nhẹ, cứ 5 phút lại bật tắt chế độ máy bay để đổi địa chỉ IP
- Mobile IP của 4G/5G/LTE gần như không thể bị chặn. Vì nhiều người dùng cùng chia sẻ nên ngay cả Instagram cũng không thể chặn 200.000 người ở LA
- Cần thao túng các sự kiện như hướng thiết bị, chuyển động, v.v. ở cấp độ kernel
Cải tiến: giả lập Android
- Dùng các trình giả lập như Android-x86 on VirtualBox, Bluestacks, Android Studio
- Nhưng hiện có rất nhiều kỹ thuật phát hiện giả lập (red pill dựa trên trình duyệt, quét cổng adb, phát hiện advertising ID, phát hiện đăng nhập mạng xã hội, v.v.)
- Kết nối 4G dongle với máy chủ để dùng trực tiếp trong trình giả lập Android
- Đặt mỗi thành phố lớn 1 máy chủ scraping mạnh, mỗi máy gắn 50 dongle
- Trên mỗi máy chủ chạy 50~100 trình giả lập Android
- Điều phối 5 trạm scraping bằng một command-and-control server đơn giản
Ý kiến của GN⁺
- Việc dùng thiết bị thật có vẻ tốn chi phí quản lý cao và khó mở rộng. Dùng trình giả lập có lẽ là phương án thực tế hơn.
- Tuy nhiên, công nghệ phát hiện giả lập cũng liên tục phát triển, nên chỉ dùng giả lập thôi chưa chắc đã an toàn. Sẽ cần cập nhật và cải tiến liên tục.
- Sử dụng mobile IP 4G/5G là một ý tưởng hay. Nhưng cũng không thể loại trừ khả năng nhà mạng chặn thiết bị cụ thể hoặc điều chỉnh gói cước.
- Ngoài việc tránh dùng IP của data center, tạo ra mẫu hành vi giống con người cũng có thể giúp né phát hiện bot. Có thể cân nhắc thu thập chậm với concurrency giới hạn thay vì tự động hóa thu thập quy mô lớn.
- Cũng có thể cân nhắc dùng các trình duyệt anti-detection thương mại như Multilogin hoặc GoLogin. Tuy nhiên, sẽ có vấn đề về chi phí giấy phép.
Chưa có bình luận nào.