Một cách tuyệt vời để xây dựng bộ dữ liệu là quét web. Nó trở nên đặc biệt phù hợp khi các nguồn như Common Crawl hoặc API chính thức không đáp ứng được các yêu cầu của dự án của bạn (ví dụ: dữ liệu không đủ mới hoặc Twitter khiến bạn phải trả giá). Tuy nhiên, việc quét web đi kèm với những thách thức riêng như CAPTCHA và giới hạn địa lý. Đây là nơi anh hùng của chúng ta — những người đại diện — tham gia vào hiện trường.
Máy chủ proxy là một máy tính khác (máy chủ, điện thoại hoặc thậm chí là thiết bị IoT) cho phép bạn truy cập web thông qua chính nó. Bằng cách này, bạn sẽ nhận được một địa chỉ IP mới từ một vị trí khác tùy chọn. Proxy giống như VPN — điểm khác biệt là bạn có thể sử dụng nhiều proxy cùng lúc thay vì chỉ một hoặc hai kết nối.
Máy chủ proxy ngày càng trở nên cần thiết hơn khi các trang web triển khai giới hạn tốc độ và các hạn chế phức tạp hơn để ngăn truy cập tự động. Đôi khi, vì những lý do chính đáng, mặc dù thường thì đó là để bảo vệ lợi ích thương mại hoặc độc quyền dữ liệu của họ. Proxy sẽ không giải quyết được mọi vấn đề của bạn; nhưng ngoài vệ sinh cơ bản, chẳng hạn như sử dụng tác nhân người dùng thực tế, chúng là cách hiệu quả nhất để duy trì hoạt động của trình quét web của bạn.
Hướng dẫn này sẽ cung cấp cho bạn hiểu biết sâu sắc về máy chủ proxy trong bối cảnh quét web. Nó đi kèm với kiến thức lý thuyết cùng với một số dữ liệu thực tế mà chúng tôi đã thu thập cho nghiên cứu thị trường proxy hàng năm của mình.
Khi những người quét web (mọi người) gặp phải nhu cầu về proxy, động lực đầu tiên của họ là thử danh sách proxy miễn phí. Những danh sách này được công khai trực tuyến; hầu hết các proxy trong đó đến từ các máy chủ dễ bị tổn thương hoặc được quản lý kém.
Một vấn đề lớn với danh sách proxy miễn phí là bạn không bao giờ biết ai điều hành chúng. Người điều hành có thể có ý định xấu, có thể biểu hiện trong việc chèn quảng cáo, ghi nhật ký lưu lượng truy cập và những điều xấu xa khác. Điều này nghe có vẻ đáng sợ, nhưng nó không có khả năng ảnh hưởng nhiều đến bạn với tư cách là một nhà khoa học dữ liệu: bạn có thể sẽ không định cấu hình proxy ở cấp hệ điều hành hoặc sử dụng chúng để truy cập vào tài khoản ngân hàng của mình.
Một vấn đề nhàm chán hơn - mặc dù thực tế - là các proxy miễn phí đơn giản là không đáng tin cậy.
Họ hiếm khi trực tuyến lâu; những cái chạy chậm không chịu nổi vì chúng có hàng trăm người thuê; và bởi vì họ có hàng trăm người thuê, những proxy như vậy rất nhanh chóng tấn công bất kỳ trang web có liên quan nào. Không phải là một công cụ tuyệt vời để làm việc với.
Vì lý do này, tôi thực sự khuyên bạn nên trả tiền cho một dịch vụ proxy thương mại.
Máy chủ proxy thường được phân loại theo nguồn IP. Đối với mục đích quét web, rất có thể bạn sẽ chọn giữa ba loại: proxy trung tâm dữ liệu, khu dân cư hoặc ISP (còn gọi là khu dân cư tĩnh).
Các proxy này được lưu trữ trên các máy chủ trong trung tâm dữ liệu. Chúng có thể là phiên bản của Amazon Cloud Services (AWS) hoặc đến từ bất kỳ nhà cung cấp dịch vụ lưu trữ đám mây nào khác. Cơ sở dữ liệu IP xem proxy trung tâm dữ liệu thuộc phạm vi lưu trữ hoặc trung tâm dữ liệu .
Proxy của trung tâm dữ liệu thường chạy trên phần cứng mạnh mẽ và kết nối internet, vì vậy bạn có thể thu thập rất nhiều dữ liệu một cách nhanh chóng. Chúng có thể là một lựa chọn rất hiệu quả cho các mục tiêu không giám sát danh tiếng IP nhưng gặp khó khăn với các trang web có.
Những proxy này đến từ các thiết bị dân dụng của người thật (do đó có tên). Ví dụ: chúng có thể chạy trên máy tính xách tay Windows, điện thoại Android hoặc tủ lạnh thông minh có Wi-Fi. Cơ sở dữ liệu IP phân loại proxy dân cư là kết nối điện thoại cố định hoặc di động .
Các proxy dân cư luôn có nhiều địa chỉ từ khắp nơi trên thế giới. Chúng khó dự đoán hơn so với IP của trung tâm dữ liệu vì chúng phụ thuộc vào chất lượng kết nối và tính khả dụng của thiết bị chủ. Tuy nhiên, chính tính năng này làm cho proxy dân cư rất hiệu quả với tất cả các loại trang web, vì chúng trông giống như khách truy cập thường xuyên.
Các proxy này được lưu trữ trên các máy chủ trong trung tâm dữ liệu nhưng được đăng ký dưới tên các nhà cung cấp dịch vụ internet tiêu dùng như Verizon. Điều này đạt được bằng cách ký hợp đồng với ISP và yêu cầu ISP công bố IP trên mạng của mình. Lý tưởng nhất là cơ sở dữ liệu IP nên xác định các proxy như điện thoại cố định hoặc kết nối di động . Tuy nhiên, đôi khi, các ISP khu vực nhỏ hơn vẫn được phân loại là trung tâm dữ liệu.
Proxy của ISP giữ lại chất lượng của proxy trung tâm dữ liệu nhưng có thể thu thập thông tin hiệu quả hơn do có danh tiếng IP tốt hơn.
Tại thời điểm này, bạn có thể nghĩ, “Ồ, đợi một chút! Điện thoại Android? Âm thanh khủng khiếp như một mạng botnet! Điều đó có hợp pháp không?” Đây là một câu hỏi hay để hỏi, và nó cho thấy rằng bạn quan tâm. Nhiều người thì không.
Thực tế là có một ranh giới mong manh giữa máy chủ proxy thương mại và mạng botnet. Nó ít áp dụng hơn cho các proxy trung tâm dữ liệu nơi chuỗi cung ứng khá rõ ràng: máy chủ đám mây mua IP, đặt chúng trên máy chủ và cho nhà cung cấp proxy thuê địa chỉ. Nhưng câu hỏi về đạo đức trở nên rất phù hợp với các mạng proxy dân cư.
Không đi sâu vào chủ đề, các proxy dân cư có thể được lấy theo nhiều cách. Phương pháp phổ biến nhất là thông qua SDK trong các ứng dụng dành cho máy tính để bàn và thiết bị di động. Video này đưa ra các ví dụ cụ thể về giao diện đó.
Một cách khác là trao đổi lưu lượng trực tiếp để lấy một dịch vụ (chẳng hạn như VPN miễn phí, xem BrightVPN) hoặc tiền (sử dụng các ứng dụng chia sẻ băng thông như Honeygain).
Trong mọi trường hợp, trách nhiệm thuộc về nhà cung cấp proxy để đảm bảo rằng nguồn IP biết về sự sắp xếp và đồng ý với nó. Bạn sẽ có thể tìm thấy thông tin về cách tiếp cận sử dụng và tìm nguồn proxy trên trang web của nhà cung cấp. Điều này làm giảm đáng kể khả năng bạn sẽ sử dụng botnet.
Máy chủ proxy có thể có các cấu hình khác nhau dựa trên thời gian thuê và xoay vòng .
Tiêu chí đầu tiên mô tả có bao nhiêu người có thể sử dụng cùng một máy chủ proxy cùng một lúc. Tất cả các danh sách proxy miễn phí có khả năng có hàng trăm người thuê, trong khi các nhà cung cấp proxy thương mại áp đặt các giới hạn. Trong biệt ngữ thị trường, chia sẻ hoặc bán chia sẻ có nghĩa là bạn sẽ sử dụng cùng một máy chủ proxy với một số người khác (thường là một đến bốn người). Riêng tư hoặc dành riêng có nghĩa là bạn sẽ một mình sử dụng proxy cho tất cả hoặc các miền cụ thể.
Khả năng chọn hình thức thuê là một tính năng của trung tâm dữ liệu và proxy của ISP, vì các nhà cung cấp có toàn quyền sở hữu đối với chúng. Tính năng này không khả dụng với proxy dân cư nhưng cũng ít liên quan hơn — người dùng dân cư có kiểu duyệt web tự nhiên hơn và ít có khả năng làm quá tải các trang web với các yêu cầu.
Tiêu chí thứ hai, xoay vòng, cho biết liệu các máy chủ proxy có tự động chuyển đổi hay không. Những cái không thường xuất hiện trong danh sách proxy được định dạng là IP:Cổng (1). Những cái có định dạng endpoint:port (2):
192.168.0.1:10000
en.proxyprovider.net:10000
Điểm cuối hoạt động như một cổng vào nhóm proxy của nhà cung cấp. Nó tự động định tuyến các yêu cầu của bạn thông qua các địa chỉ khác nhau trong phần phụ trợ. Ngay cả khi địa chỉ IP thay đổi, điểm cuối vẫn giữ nguyên.
Các proxy xoay vòng rất thuận tiện cho việc quét web, vì bạn có quyền truy cập vào số lượng IP vô hạn (hàng nghìn đến hàng triệu). Tuy nhiên, những dịch vụ như vậy thường tính phí lưu lượng truy cập, trong khi danh sách proxy tĩnh có xu hướng cung cấp lưu lượng truy cập không giới hạn.
Hãy so sánh các loại proxy được thảo luận dựa trên các đặc điểm khác nhau của chúng.
Trong trường hợp mạng proxy luân phiên, proxy dân cư có giá cao hơn khoảng 8 đến 10 lần so với địa chỉ trung tâm dữ liệu và ít hơn một chút so với mạng proxy ISP luân phiên.
Mạng proxy tĩnh thường tính phí theo địa chỉ IP. So với proxy của ISP, máy chủ proxy của trung tâm dữ liệu có giá thấp hơn từ hai đến ba lần, tùy thuộc vào số lượng bạn mua.
Mặc dù định tuyến lưu lượng truy cập thông qua các thiết bị người dùng cuối không thể đoán trước, nhưng các mạng proxy dân cư chính vẫn hoạt động rất tốt. Đối với mục đích quét web (khi IP xoay vòng với mỗi yêu cầu kết nối), chúng truyền dữ liệu gần như cũng như proxy của trung tâm dữ liệu:
Chúng tôi cũng không nhận thấy sự khác biệt lớn về độ trễ. Dưới đây là thời gian phản hồi cho các yêu cầu được gửi tới máy chủ gần nhất của CDN toàn cầu (kích thước phản hồi là vài kilobyte) và Amazon (kích thước phản hồi khoảng 1 MB):
Một lĩnh vực mà trung tâm dữ liệu và proxy ISP chiếm ưu thế là thông lượng. Họ có các đường ống rộng hơn để truyền dữ liệu. Một số proxy dân dụng có thể rất nhanh, nhưng bạn cũng có thể gặp phải các máy chủ không đạt được tốc độ 1 Mb/giây. Có ít khả năng dự đoán hơn nhiều.
Trung tâm dữ liệu và proxy ISP có thể hoạt động gần như 24/7, chỉ ngoại tuyến khi xảy ra sự cố ngừng hoạt động hoặc bảo trì. Thời gian hoạt động của proxy dân cư phụ thuộc vào nhiều yếu tố khác nhau, chẳng hạn như proxy đến từ thiết bị Windows hay Android. Trong mọi trường hợp, nó ngắn hơn và ít tin cậy hơn nhiều so với các proxy dựa trên máy chủ.
Chúng tôi đã viết một tập lệnh ping cơ sở dữ liệu IP cứ sau 20 giây để xem tần suất địa chỉ IP dân cư sẽ thay đổi. Dưới đây là một số kết quả:
Các proxy của trung tâm dữ liệu đấu tranh chống lại các trang web được bảo vệ hoặc rất phổ biến như Google hoặc phương tiện truyền thông xã hội. Điều này có thể được giảm thiểu phần nào bằng cách chọn các IP chuyên dụng có lịch sử sử dụng rõ ràng hơn.
Đôi khi, kết nối từ dải IP của trung tâm dữ liệu là đủ để các trang web không cho phép bạn truy cập. Trong những trường hợp như vậy, cách duy nhất là sử dụng một loại proxy khác.
Theo mặc định, các proxy của ISP có danh tiếng IP tốt hơn, vì vậy chúng ít phải đối mặt với sự giám sát ban đầu hơn. Tuy nhiên, chúng vẫn có các kiểu duyệt ít thực tế hơn so với địa chỉ cư trú thực sự. Các máy chủ proxy dân cư tạo thành các nhóm lớn, rất đa dạng và chia sẻ lịch sử duyệt web với những người thực. Những phẩm chất này khiến chúng rất khó phân biệt với đối tượng rộng hơn của trang web.
Trung tâm dữ liệu và proxy ISP được lưu trữ trong các trung tâm dữ liệu và số lượng trung tâm dữ liệu khả dụng bị hạn chế. Vị trí thường xuyên nhất có lẽ là Ashburn, mặc dù các nhà cung cấp lớn có thể cung cấp cho bạn IP trung tâm dữ liệu từ hàng chục quốc gia. Tuy nhiên, nếu bạn cần địa chỉ ở các địa phương nhỏ hơn và đặc biệt là các thành phố không phải thủ đô của họ, bạn sẽ không gặp may.
Proxy dân cư không có hạn chế như vậy — miễn là có thiết bị và người tham gia sẵn sàng, bất kỳ ai từ bất kỳ đâu đều có thể tham gia. Do đó, các nhà cung cấp chính có thể cung cấp IP ở tất cả các quốc gia có nhắm mục tiêu theo thành phố, ASN và đôi khi là cả mã ZIP.
Dựa trên khảo sát của chúng tôi về các nhà cung cấp proxy lớn, hầu hết đều chọn proxy dân cư là sản phẩm phổ biến nhất của họ. Chỉ có hai nhà cung cấp được chỉ định máy chủ proxy trung tâm dữ liệu và không có proxy ISP nào.
Các proxy của trung tâm dữ liệu đã giảm trong những năm gần đây khi các mục tiêu chính như Amazon, Google, LinkedIn và các mục tiêu khác thắt chặt hệ thống bảo mật của họ. Các proxy của ISP có khả năng thay thế vị trí của chúng, nhưng sự tiếp thu của chúng bị cản trở bởi những khó khăn về tìm nguồn cung ứng — thật khó để có được các ISP có uy tín trên tàu.
Nhưng đủ lý thuyết. Bạn có thể áp dụng kiến thức này vào dự án của mình như thế nào? Tôi đã lập mô hình nhiều kịch bản với đề xuất máy chủ proxy.
Để giữ cho bài viết này không có lợi ích thương mại, tôi sẽ không đề cập đến các nhà cung cấp cụ thể. Nếu bạn muốn một số đề xuất, chúng tôi sẽ so sánh các nhà cung cấp chính trên trang web của mình (Tuyên bố từ chối trách nhiệm: chúng tôi có mối quan hệ liên kết với hầu hết các công ty đó. Tuy nhiên, điều này không ảnh hưởng đến các báo cáo thị trường của chúng tôi.)
Ví dụ: Tìm kiếm một cổng thông tin nhỏ, trang web thương mại điện tử hoặc thậm chí là công cụ tìm kiếm không phải của Google.
Khuyến nghị: Luân phiên proxy trung tâm dữ liệu. Bạn có thể có quyền truy cập vào nhóm 2.000–100.000 IP luân phiên với giá 0,7 USD/GB trở xuống. Bạn sẽ không phải lo lắng về việc thay thế các IP bị chặn và chi phí lưu lượng đủ thấp để trích xuất dữ liệu nghiêm trọng.
Ví dụ: Tải xuống video từ dịch vụ phát trực tuyến hoặc ảnh từ trình tổng hợp hình ảnh cho mục đích lưu trữ.
Đề xuất: Trung tâm dữ liệu tĩnh hoặc proxy ISP. Chúng nhanh và không tính chi phí giao thông. Sử dụng proxy của trung tâm dữ liệu khi trang web cho phép và proxy của ISP nếu không.
Ví dụ: Tìm kiếm đề cập đến thương hiệu trên web.
Đề xuất: Trung tâm dữ liệu tĩnh hoặc proxy ISP. Thu thập thông tin yêu cầu nhiều dữ liệu, vì vậy tốt nhất bạn nên chọn loại proxy không sử dụng lưu lượng truy cập làm số liệu chính. Ngoài ra, ngay cả một số lượng IP hữu hạn cũng sẽ đưa bạn đi xa khi bạn chuyển đổi mục tiêu.
Ví dụ: Trích xuất quảng cáo việc làm từ LinkedIn, thông tin công ty từ G2 hoặc các bài đăng được gắn thẻ bắt đầu bằng # từ mạng truyền thông xã hội.
Khuyến nghị: Proxy dân cư. Với số lượng IP vô hạn hiệu quả, bạn sẽ không gặp rủi ro khi cấm proxy của mình. Ngoài ra, bạn sẽ có tỷ lệ thành công cao hơn so với các loại proxy khác.
Ví dụ: Theo dõi biến động giá cổ phiếu.
Khuyến nghị: Trung tâm dữ liệu proxy nếu trang web cho phép họ; nếu không, các proxy của ISP**.** Tốc độ kết nối nhanh của chúng đảm bảo rằng bạn sẽ trích xuất dữ liệu như ý muốn.
Ví dụ: Theo dõi vị trí trang công cụ tìm kiếm cho các truy vấn Google đã bản địa hóa.
Đề xuất: Proxy dân cư, vì chúng hỗ trợ lọc IP cấp thành phố.
Bài viết này đã giới thiệu ngắn gọn cho bạn về máy chủ proxy cho mục đích quét web. Sau khi đọc nó, bạn sẽ có thể phân biệt giữa các loại proxy chính, cấu hình và thiết lập nào sẽ có lợi nhất cho dự án khoa học dữ liệu của bạn.