久草在线高清视频_成人午夜毛片_美女毛片儿_国产精品v片在线观看不卡_成人一区久久_国产一精品久久99无吗一高潮

分布式爬蟲需要?jiǎng)討B(tài)ip優(yōu)化采集

分布式爬蟲需要優(yōu)化代理IP的收集,因?yàn)榧夹g(shù)人員在使用分布式爬蟲或者多進(jìn)程爬蟲時(shí),一旦目標(biāo)受限,很可能會(huì)使用代理IP,所以代理IP的搜索還是需要注意的。
 
 
 
 
 
 
爬網(wǎng)程序使用的代理IP不能是開放的,并且您必須找到一個(gè)高隱私性的代理IP。
 
 
 
動(dòng)態(tài)IP-企業(yè)級(jí)穩(wěn)定高隱藏代理IP
 
 
 
動(dòng)態(tài)IP——企業(yè)級(jí)穩(wěn)定、高速、高隱藏代理IP,千萬級(jí)IP導(dǎo)出池,爬蟲最佳選擇。
 
 
 
我們?nèi)绾蝺?yōu)化使用代理IP進(jìn)行數(shù)據(jù)收集?下面小編就提供一些思路。一般來說,有幾種方法:
 
 
 
分布式爬蟲需要代理IP來優(yōu)化收集。
 
 
 
建議:【方案一】先導(dǎo)入數(shù)據(jù)庫,從數(shù)據(jù)庫中獲取IP。一般邏輯如下:
 
 
 
第一步:在數(shù)據(jù)庫中建表,寫導(dǎo)入腳本,每分鐘請求API 60次,將IP列表導(dǎo)入數(shù)據(jù)庫(界面返回實(shí)時(shí)可用,不斷變化的IP會(huì)被實(shí)時(shí)檢測到。你們的檢查肯定沒有我們實(shí)時(shí)。如果界面中有一個(gè),但數(shù)據(jù)庫中有一個(gè),則刪除它或?qū)⑵錁?biāo)記為不可用,否則插入它或更新它。)。
 
 
 
第二步:必須是每分鐘60個(gè)請求,而不是每分鐘3或5個(gè)請求。你知道為什么嗎?例如,IP的有效期為18:00:01開始的60秒。18:00:00點(diǎn)請求就拿不到了。18:00:20接的時(shí)候,它只剩下40秒了,也就是可能少了20秒。
 
 
 
步驟3:在數(shù)據(jù)庫中記錄導(dǎo)入時(shí)間、IP、端口、到期時(shí)間以及當(dāng)前有多少進(jìn)程正在使用該IP的字段IP可用狀態(tài);
 
 
 
第四步:寫一個(gè)抓取腳本。抓取腳本從數(shù)據(jù)庫中讀取可用的IP。每個(gè)進(jìn)程從數(shù)據(jù)庫中獲得一個(gè)IP,以及一個(gè)具有可用狀態(tài)和少量進(jìn)程的IP。當(dāng)然,你也可以控制每個(gè)進(jìn)程只使用一個(gè)IP。如果沒有合格的IP,循環(huán)睡眠1秒,等待新的IP出現(xiàn)。
 
 
 
第五步:執(zhí)行抓取,判斷結(jié)果,處理cookie等。,只要有驗(yàn)證碼或者失敗,就放棄這個(gè)IP(在數(shù)據(jù)庫中標(biāo)記為不可用或者直接刪除,如果標(biāo)記為不可用,如果目標(biāo)站只封了1個(gè)小時(shí),在接口中返回這個(gè)IP可以在1個(gè)小時(shí)后標(biāo)記為可用),換成另一個(gè)IP。
 
 
 
動(dòng)態(tài)IPIP動(dòng)態(tài)轉(zhuǎn)發(fā)支持免取呼叫。
 
 
 
方法一:使用動(dòng)態(tài)IPIP,統(tǒng)一入口,支持無抽取和調(diào)用,設(shè)置白名單后即可使用。您可以為每個(gè)請求隨機(jī)使用一個(gè)IP出口,或者為多個(gè)請求使用同一個(gè)IP出口。
 
 
 
答:proxy.hemaip.com:8000每次隨機(jī)有一個(gè)出口IP。
 
 
 
通道B: proxy.hemaip.com: 8001 ~ 8020這20個(gè)端口,每個(gè)請求都會(huì)固定一個(gè)出口ip,IP有效期1-5分鐘。如果想知道請求前的出口IP和剩余可用時(shí)間,可以通過這個(gè)接口獲取。
 
 
 
通道A的調(diào)用方式和通道B完全一樣,不需要做任何額外的修改,只需要在程序中控制請求的端口號(hào)即可(比如你用的是通道B的8001端口,現(xiàn)在你想換一個(gè)IP作為出口,只需要換8002,不需要給我們發(fā)換IP的命令)。超級(jí)方便,智能IP會(huì)自動(dòng)切換到后端。
 
 
 
以下是比較麻煩的方式,一般不推薦。
 
 
 
【方案二】每個(gè)進(jìn)程從接口API中隨機(jī)選擇一個(gè)IP列表進(jìn)行回收。如果失敗,那么調(diào)用API來獲取它。一般邏輯如下:
 
 
 
Step1:每個(gè)進(jìn)程(或線程)從接口隨機(jī)檢索一批IP,循環(huán)嘗試IP列表抓取數(shù)據(jù);
 
 
 
第二步:如果參觀成功,繼續(xù)趕下一趟。
 
 
 
第三步:如果失敗(比如超時(shí),驗(yàn)證碼等。),從界面隨機(jī)取另一個(gè)IP,不斷嘗試。
 
 
 
第二種是最錯(cuò)誤和最低效的方法,原因如下:
 
 
 
我們知道每個(gè)IP都有到期日。例如,當(dāng)您檢索列表時(shí),列表中的第一個(gè)IP的到期日期為100秒,第二個(gè)IP的到期日期為80秒,第三個(gè)IP的到期日期為110秒,第四個(gè)IP的到期日期為50秒。比如你嘗試第一個(gè)IP的時(shí)候,已經(jīng)成功使用了50秒,然后就被屏蔽了。是時(shí)候換IP了。繼續(xù)嘗試第二個(gè)IP。此時(shí),第二個(gè)有效期還剩30秒。第四。如果在進(jìn)行HTTP請求時(shí),將連接時(shí)間超時(shí)設(shè)置為3秒,讀取時(shí)間超時(shí)設(shè)置為5秒,那么很可能會(huì)浪費(fèi)3-8秒,這可能足夠抓取幾十次。
 
 
 
該方案可以運(yùn)行,但邊肖并不特別推薦給大家使用。
 
 
 
【方案三】每個(gè)進(jìn)程從接口API中隨機(jī)選擇一個(gè)IP使用。如果失敗,它將調(diào)用API來獲取它。一般邏輯如下:
 
 
 
步驟1:每個(gè)進(jìn)程(或線程)從接口中隨機(jī)獲取一個(gè)IP,并使用這個(gè)IP訪問資源。
 
 
 
第二步:如果參觀成功,繼續(xù)趕下一趟。
 
 
 
第三步:如果失敗(如超時(shí)、驗(yàn)證碼等。),從界面隨機(jī)取另一個(gè)IP,不斷嘗試。
 
 
 
方案的缺點(diǎn):
 
 
 
A.壓力和效率:API調(diào)用非常頻繁,會(huì)對智能IP的接口造成壓力。另外,打電話的時(shí)候會(huì)耗費(fèi)時(shí)間,比如每次100ms,浪費(fèi)時(shí)間。目前壓力不錯(cuò)。我們的API直接用Nginx讀取Redis,接口性能沒問題。
 
 
 
B.資源競爭:比如你同時(shí)隨機(jī)選擇15個(gè)進(jìn)程。例如,我們同時(shí)有30個(gè)可用的IP池。因?yàn)槲覀冸S機(jī)選擇一個(gè),所以我們不能保證兩個(gè)或更多的進(jìn)程不會(huì)獲得相同的IP。這樣一來,如果頻率高,對方可能會(huì)屏蔽這個(gè)IP。您可以調(diào)用接口的重復(fù)數(shù)據(jù)刪除功能。
 
 
 
c,遇到被屏蔽的IP不能告訴API,下次也不會(huì)被返回被屏蔽的IP。目前API去重只能保證每天不重復(fù)。第二天有可能重復(fù),因?yàn)橛行㊣P當(dāng)天就被屏蔽了,第二天可能就可以用了。這些閾值最好由用戶自己控制。
 
 
 
所以,盡量制定每個(gè)進(jìn)程(或線程)盡可能使用一個(gè)IP的策略,不要多個(gè)進(jìn)程使用一個(gè)IP。
 
 
 
以上描述了分布式爬蟲需要代理IP優(yōu)化集合,也提供了幾個(gè)優(yōu)化思路,僅供大家參考。
 
主站蜘蛛池模板: 欧美日韩一区二区在线观看 | 亚洲欧美一区二区三区在线 | 欧美xxxx黑人又粗又长密月 | 91久久综合亚洲鲁鲁五月天 | 国产免费自拍 | 成人在线观看视频网站 | 久久久精品一区二区三区 | 这里只有精品久久 | 97精品国产97久久久久久 | 黄色网址免费看 | 亚洲免费毛片 | 国产一二三在线观看 | 色九九| 欧美日韩亚洲国产 | 亚洲精品永久免费 | 影视av久久久噜噜噜噜噜三级 | 一级毛片视频 | 情侣黄网站免费看 | 国产高清久久 | 欧美日韩在线不卡 | av一区二区三区 | 精品国产青草久久久久96 | 亚洲国产精品视频一区 | 亚洲综合国产 | 黄色一级片视频播放 | xxxx欧美| 一级片av | 精品一区二区三区免费毛片爱 | 在线一区二区三区 | 亚洲成人精品一区二区三区 | 午夜成人在线视频 | 久久久久久久久网站 | 国产精品久久久久久久久免费 | av在线播放网 | 99久久综合 | 日韩免费久久 | 亚洲91视频 | 成人免费视频一区二区 | 精品视频一区二区 | 国产精品入口 | 538国产精品一区二区免费视频 |