分布式動態ip池,可用率超高,趕快試試吧!

分布式ip代理池,具有高可用性,趕緊試試吧!用了大概兩個月的時間,到現在為止,高可用的分布式代理IP池(https://github.com/SpiderClub/haipproxy)終于完成了,現在在Github上開源。寫這個項目主要有兩個原因。第一,我的部分工作通常需要和網絡爬蟲打交道,代理IP有時候可以起到非常重要的作用。我調查過一些開源的代理IP收集程序,發現在抓取、解析、檢查、資源調度等方面總有不盡如人意的地方。第二,與一位網友(不嚴格地說是伯樂)的交流,讓邊肖有了一些用Scrapy編寫分布式網絡爬蟲的想法,而這恰好是一個嘗試驗證這些想法的機會。
 
 
結構化
 
本文的目的是解釋haipproxy的主要架構和流程。項目模塊是
 
一個基于Scrapy和Redis的分布式網絡爬蟲,用于IP抓取和檢查,對應項目的爬蟲。
 
基于Redis實現的分布式任務調度工具,對應于項目的調度器和redis_util.py
 
爬蟲分為代理抓取和驗證,實現思路類似。它主要是利用Scrapy的spider_idle信號和DontCloseSpider異常來防止Scrapy在沒有數據時關閉。靈感來自Scrapy-redis(https://github . com/rmax/Scrapy-redis)。
 
啟動調度程序,包括代理爬蟲調度程序和驗證爬蟲調度程序。調度器會讀取rules.py中要抓取的網站,并整理成任務,存放在各個任務隊列中。
 
啟動每個網絡爬蟲,包括IP抓取和驗證程序。項目中的網絡爬蟲和調度器具有很高的可用性,可以根據實際情況分布式部署,無需修改代碼。由于本文的目標不是編寫該項目的詳細使用文檔,因此省略了指定啟動網絡爬蟲類型和調度器類型的介紹。
 
IP采集爬蟲啟動后,會從相應的任務隊列中獲取任務并執行,然后將獲取的結果存儲在一個init隊列中。
 
init隊列由一個特殊的驗證器HttpbinInitValidator使用,該驗證器過濾掉透明代理,然后將可用的代理輸入到每個經過驗證的隊列中。
 
調度程序將定期從經驗證的隊列中獲取代理IP,并將其存儲在臨時隊列中。這里,臨時隊列用于使驗證更加公平。如果直接從已驗證的隊列中獲取資源進行驗證,會增加不公平性。
 
此時,每個驗證者(非init驗證者)都會從對應的臨時隊列中獲取待驗證的IP并進行驗證,此處省略驗證細節。
 
驗證完成后,將其放回已驗證的隊列中,等待下一輪驗證。
 
請求成功率(以分數表示)、響應速度和最近檢查時間滿足settings.py配置的要求的代理IP將被網絡爬蟲客戶端消耗。
 
為了屏蔽各調用語言的差異,目前實現的客戶端是squid客戶端,也可以作為網絡爬蟲客戶端的中間件。
 
至此,整個過程完成。
 
主站蜘蛛池模板: 国产乱码精品一区三上| 在线观看三级激情视频| 久久精品国产99国产精品| 欧美成人免费在线观看| 亚洲综合图片小说区热久久| 精品福利一区二区三区免费视频| 国产又色又爽又刺激在线播放| 手机在线观看视频你懂的| 在线免费观看毛片网站| juliaann大战七个黑人| 性欧美大战久久久久久久| 久久99精品国产麻豆婷婷| 日韩在线视频线视频免费网站| 亚洲人成日本在线观看| 欧美激情一区二区三区四区| 亚洲精品无码你懂的| 男人j进女人p里动态图| 免费无码成人片| 美女把屁屁扒开让男人玩| 国产乱码一区二区三区| 领导边摸边吃奶边做爽在线观看| 国产特级毛片aaaaaa高清| 男人天堂2023| 国产精品日韩一区二区三区| 99ee6热久久免费精品6| 大地资源在线资源官网| freeⅹxx69性欧美按摩| 好看的国产精彩视频| 一个人看的www免费高清| 少妇高潮喷潮久久久影院| 东北女人毛多水多牲交视频| 把胡萝卜立着自己坐上去| 丰满的奶水边做边喷| 日本久久综合网| 久久久久亚洲精品男人的天堂| 日本牲交大片免费观看| 久久天天躁狠狠躁夜夜爽| 日韩人妻一区二区三区免费| 久久精品无码一区二区三区| 最新国产精品拍自在线播放| 亚洲av人无码综合在线观看|