分布式動態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客戶端,也可以作為網絡爬蟲客戶端的中間件。
 
至此,整個過程完成。
 
主站蜘蛛池模板: 机机对机机的30分钟免费软件| A国产一区二区免费入口| 精品国产不卡一区二区三区| 国产成人天天5g影院| 一级特黄性色生活片| 日本大片免a费观看在线| 亚洲AV无码不卡| 男女边摸边揉边做视频| 国产热re99久久6国产精品| 一级毛片无遮挡免费全部| 日本一区二区三区四区公司| 亚洲第一成年免费网站| 蝌蚪久热精品视频在线观看| 国产特级毛片AAAAAA| 2021日韩麻豆| 彩虹男gary网站| 亚洲av无码成人精品区狼人影院| 真实处破女系列全过程| 国产成人精品午夜二三区波多野| a资源在线观看| 巨大挺进她的花茎| 中文字幕不卡在线观看| 无遮挡动漫画在线观看| 亚洲国产一区二区a毛片| 精品国产一区AV天美传媒| 国产AV国片精品一区二区| 香蕉视频在线看| 国产网红主播无码精品| 中文字幕26页| 欧洲美熟女乱又伦免费视频| 免费h视频在线观看| 韩国二级毛片免费播放| 国产超级乱淫视频播放| 三级极精品电影| 日韩精品中文字幕在线观看 | 亚洲精品无码mv在线观看| 菠萝视频在线完整版| 国产原创中文字幕| 91精品国产色综合久久不| 成人高清毛片a| 五月亭亭免费高清在线|