分布式爬蟲需要動態ip優化采集

分布式爬蟲需要優化代理IP的收集,因為技術人員在使用分布式爬蟲或者多進程爬蟲時,一旦目標受限,很可能會使用代理IP,所以代理IP的搜索還是需要注意的。
 
 
 
 
 
 
爬網程序使用的代理IP不能是開放的,并且您必須找到一個高隱私性的代理IP。
 
 
 
動態IP-企業級穩定高隱藏代理IP
 
 
 
動態IP——企業級穩定、高速、高隱藏代理IP,千萬級IP導出池,爬蟲最佳選擇。
 
 
 
我們如何優化使用代理IP進行數據收集?下面小編就提供一些思路。一般來說,有幾種方法:
 
 
 
分布式爬蟲需要代理IP來優化收集。
 
 
 
建議:【方案一】先導入數據庫,從數據庫中獲取IP。一般邏輯如下:
 
 
 
第一步:在數據庫中建表,寫導入腳本,每分鐘請求API 60次,將IP列表導入數據庫(界面返回實時可用,不斷變化的IP會被實時檢測到。你們的檢查肯定沒有我們實時。如果界面中有一個,但數據庫中有一個,則刪除它或將其標記為不可用,否則插入它或更新它。)。
 
 
 
第二步:必須是每分鐘60個請求,而不是每分鐘3或5個請求。你知道為什么嗎?例如,IP的有效期為18:00:01開始的60秒。18:00:00點請求就拿不到了。18:00:20接的時候,它只剩下40秒了,也就是可能少了20秒。
 
 
 
步驟3:在數據庫中記錄導入時間、IP、端口、到期時間以及當前有多少進程正在使用該IP的字段IP可用狀態;
 
 
 
第四步:寫一個抓取腳本。抓取腳本從數據庫中讀取可用的IP。每個進程從數據庫中獲得一個IP,以及一個具有可用狀態和少量進程的IP。當然,你也可以控制每個進程只使用一個IP。如果沒有合格的IP,循環睡眠1秒,等待新的IP出現。
 
 
 
第五步:執行抓取,判斷結果,處理cookie等。,只要有驗證碼或者失敗,就放棄這個IP(在數據庫中標記為不可用或者直接刪除,如果標記為不可用,如果目標站只封了1個小時,在接口中返回這個IP可以在1個小時后標記為可用),換成另一個IP。
 
 
 
動態IPIP動態轉發支持免取呼叫。
 
 
 
方法一:使用動態IPIP,統一入口,支持無抽取和調用,設置白名單后即可使用。您可以為每個請求隨機使用一個IP出口,或者為多個請求使用同一個IP出口。
 
 
 
答:proxy.hemaip.com:8000每次隨機有一個出口IP。
 
 
 
通道B: proxy.hemaip.com: 8001 ~ 8020這20個端口,每個請求都會固定一個出口ip,IP有效期1-5分鐘。如果想知道請求前的出口IP和剩余可用時間,可以通過這個接口獲取。
 
 
 
通道A的調用方式和通道B完全一樣,不需要做任何額外的修改,只需要在程序中控制請求的端口號即可(比如你用的是通道B的8001端口,現在你想換一個IP作為出口,只需要換8002,不需要給我們發換IP的命令)。超級方便,智能IP會自動切換到后端。
 
 
 
以下是比較麻煩的方式,一般不推薦。
 
 
 
【方案二】每個進程從接口API中隨機選擇一個IP列表進行回收。如果失敗,那么調用API來獲取它。一般邏輯如下:
 
 
 
Step1:每個進程(或線程)從接口隨機檢索一批IP,循環嘗試IP列表抓取數據;
 
 
 
第二步:如果參觀成功,繼續趕下一趟。
 
 
 
第三步:如果失敗(比如超時,驗證碼等。),從界面隨機取另一個IP,不斷嘗試。
 
 
 
第二種是最錯誤和最低效的方法,原因如下:
 
 
 
我們知道每個IP都有到期日。例如,當您檢索列表時,列表中的第一個IP的到期日期為100秒,第二個IP的到期日期為80秒,第三個IP的到期日期為110秒,第四個IP的到期日期為50秒。比如你嘗試第一個IP的時候,已經成功使用了50秒,然后就被屏蔽了。是時候換IP了。繼續嘗試第二個IP。此時,第二個有效期還剩30秒。第四。如果在進行HTTP請求時,將連接時間超時設置為3秒,讀取時間超時設置為5秒,那么很可能會浪費3-8秒,這可能足夠抓取幾十次。
 
 
 
該方案可以運行,但邊肖并不特別推薦給大家使用。
 
 
 
【方案三】每個進程從接口API中隨機選擇一個IP使用。如果失敗,它將調用API來獲取它。一般邏輯如下:
 
 
 
步驟1:每個進程(或線程)從接口中隨機獲取一個IP,并使用這個IP訪問資源。
 
 
 
第二步:如果參觀成功,繼續趕下一趟。
 
 
 
第三步:如果失敗(如超時、驗證碼等。),從界面隨機取另一個IP,不斷嘗試。
 
 
 
方案的缺點:
 
 
 
A.壓力和效率:API調用非常頻繁,會對智能IP的接口造成壓力。另外,打電話的時候會耗費時間,比如每次100ms,浪費時間。目前壓力不錯。我們的API直接用Nginx讀取Redis,接口性能沒問題。
 
 
 
B.資源競爭:比如你同時隨機選擇15個進程。例如,我們同時有30個可用的IP池。因為我們隨機選擇一個,所以我們不能保證兩個或更多的進程不會獲得相同的IP。這樣一來,如果頻率高,對方可能會屏蔽這個IP。您可以調用接口的重復數據刪除功能。
 
 
 
c,遇到被屏蔽的IP不能告訴API,下次也不會被返回被屏蔽的IP。目前API去重只能保證每天不重復。第二天有可能重復,因為有些IP當天就被屏蔽了,第二天可能就可以用了。這些閾值最好由用戶自己控制。
 
 
 
所以,盡量制定每個進程(或線程)盡可能使用一個IP的策略,不要多個進程使用一個IP。
 
 
 
以上描述了分布式爬蟲需要代理IP優化集合,也提供了幾個優化思路,僅供大家參考。
 
主站蜘蛛池模板: 福利视频第一区| 黑人巨大精品播放| 彩虹男gary网站| 久久亚洲春色中文字幕久久久| 欧美另类xxx| 亚洲精品动漫免费二区| 真人无码作爱免费视频| 啊灬啊灬啊灬快灬深用力| 青青草国产精品欧美成人| 国产欧美一区二区三区免费 | 午夜精品一区二区三区在线观看| 非洲一区二区三区不卡| 国产日韩精品中文字无码| 2018天天干夜夜操| 在线一区免费播放| chinesehd国产刺激对白| 岛国免费v片在线播放| 中文字幕一区二区三区精彩视频| 日本xxxⅹ色视频在线观看网站| 久久精品国产色蜜蜜麻豆| 李采潭一级毛片高清中文字幕| 亚洲国产精品无码成人片久久 | 久久精品美女视频| 最近最新最好的2018中文字幕| 亚洲国产欧美另类va在线观看| 欧美老少配xxxxx| 亚洲激情成人网| 污污视频免费看| 亚洲色av性色在线观无码| 男人桶女人羞羞漫画全集| 免费成人一级片| 福利片福利一区二区三区| 全免费a级毛片免费看| 精品国偷自产在线视频| 午夜在线观看视频免费成人| 精品综合久久久久久97| 又粗又硬又黄又爽的免费视频| 美女的胸又www又黄的网站| 国产90后美女露脸在线观看| 色吊丝最新在线播放网站| 国产一卡2卡3卡4卡网站免费|