Chào các bạn, Mình hiện tại đang dùng stormproxies với gói Rotating Proxies, dịch vụ ở đây đảm bảo chất lượng, nhưng giá thì hơi chát tí. Mình có danh sách các proxies và muốn tạo rotating proxies sử dụng proxy gateway như stormproxies thì có open source nào sử dụng ko? Mình tìm trên Internet và github thì có nhiều open source về proxy server, nhưng chưa thấy hỗ trợ rotating proxies. Mô hình này giống như http://scrapoxy.io/ nhưng chạy scrapoxy thì tốn $ tạo VM lắm, nên mình muốn dùng danh sách proxies mình có để tiết kiệm $ Mô hình giống như sau: Crawler ---> Proxy Gateway ---> [tự động chọn proxy trong danh sách proxies và loại bỏ proxy nào chết] Mình có thể code chức năng rotating proxies để chạy trong 1 phần mềm, nhưng vì nhu cầu mình muốn tạo proxy gateway như trên để sử dụng trong nhiều crawler scripts khác nhau. Cám ơn các bạn tư vấn,
Chỉ là crawl dữ liệu website khác và tạo tập dữ liệu của mình thôi mà, assmin xoắn mạnh thế --- Double Post Merged, Dec 11, 2020, Original Post Date: Dec 9, 2020 --- Đã tìm ra giải pháp này, áp dụng mô hình HAPROXY --> [round robin các proxies] Đã thử với Haproxy phiên bản 2.2.* và cấu hình file haproxy.cfg như sau là ổn
haproxy là chuẩn bài rồi bác, nhưng k biết haproxy có check proxy lỗi k nhỉ? ngày trước em hay dùng thằng này https://github.com/imWildCat/scylla nhưng giờ thì đã ngừng hỗ trợ, và nó chạy cũng hơi tốn bộ nhớ trò này mấy anh Tàu hay xài nên phát triển dữ dội lắm, có 2 project này khá ngon https:___github.com/SpiderClub/haipproxy https:___github.com/jhao104/proxy_pool
HAProxy có check theo tần số check mặc định là 15s (tuỳ phiên bản), bạn có thể thay đổi thông số thời gian check với "default-server inter 10s fall 2", những proxy ko hoạt động sẽ bị báo đỏ và bị loại bỏ khỏi load balancing (khi bạn request đến proxy_in tại port 16379 thì round robin chỉ request thông qua proxy sống thôi) cho đến khi proxy sống lại như hình đính kèm (proxy báo đỏ là proxy die).
HAProxy ko hỗ trợ API bạn @thitgaluoc à, giải pháp dùng load balacing proxy này ko phải là mục đích phát triển của HAProxy, họ chủ yếu cân bằng tải các servers và nghĩ về IP servers sống nhiều hơn việc die liên tục như public proxies mà mình đoán bạn muốn thử áp dụng. Nhưng bạn có thể trick bằng cách tạo file config với proxies mới và reload config của HAProxy, hoặc có thể áp dụng mô hình 4 HAProxy services như sau: Khi đó, giả sử bạn muốn thay đổi danh sách proxies 1 thì reload Sub_HAProxy 1 đó thôi, còn 2 Sub_HAProxy 2 & 3 vẫn sống (mấy services này chỉ round robin đến những proxies sống của nó) nên Main_HAProxy sẽ cân bằng qua các proxies sống của Sub_HAProxy 2 & 3 (khi Sub_HAProxy 1 reload xong, tức là dịch vụ sống thì sẽ có thêm Sub_HAProxy 1). Client request luôn gọi là MainHAProxy nên đảm bảo các requests của bạn vẫn sẽ hoạt động chuẩn cho dù lúc đó bạn đang reload config của Sub_HAProxy nào đó. Khi đó, lúc nào bạn cần tự code 1 script check alive các proxies và phân bổ vào config của một Sub_HAProxy. Đó chỉ là tricks dùng HAProxy, còn chuyên hơn thì các Python package bạn nêu có vẻ làm tốt hơn vì nó có nhiều tính năng hơn.