如何解決爬蟲被封IP的問題
由于公司的需要項(xiàng)目,需要收集各種地圖數(shù)據(jù)和一些大型網(wǎng)站數(shù)據(jù)。那么,爬蟲IP被屏蔽了怎么辦?教你如何解決爬蟲被封IP的問題:
精靈IP代理必須要有更多的IP,比如ADSL。有條件的話,其實(shí)可以跟機(jī)房申請(qǐng)一個(gè)外部IP。
使用外部IP在機(jī)器上部署代理IP服務(wù)器
您的程序使用輪換訓(xùn)練而不是IP代理服務(wù)器來訪問您想要收集的網(wǎng)站。
好處:
程序邏輯變化不大,只需要IP代理函數(shù)。
根據(jù)其他網(wǎng)站不同的屏蔽規(guī)則,你只需要多加幾個(gè)代理就可以了。
即使某個(gè)特定IP被屏蔽,也可以直接注銷代理服務(wù)器到OK,程序邏輯不需要改變。
有少數(shù)網(wǎng)站防范措施薄弱,可以偽裝IP,修改x-forward-for。可以被旁路。大多數(shù)網(wǎng)站如果要經(jīng)常抓取,通常需要更多的IP。我最喜歡的方案是將國(guó)外的VP匹配多個(gè)IP,通過默認(rèn)網(wǎng)關(guān)交換實(shí)現(xiàn)IP交換,比HTTP代理效率高很多,大部分情況下可能也比ADSL交換效率高。
ADSL腳本,監(jiān)控是否被屏蔽,然后不斷切換ip。
設(shè)置查詢頻率限制
正統(tǒng)的方式是調(diào)用這個(gè)網(wǎng)站提供的服務(wù)接口。
有8年以上爬蟲經(jīng)驗(yàn)的人告訴你,ADSL在中國(guó)是王道,有很多應(yīng)用線路分布在很多不同的電信廳,跨省市可以更好。編寫自己的斷開重?fù)芙M件,編寫自己的動(dòng)態(tài)IP跟蹤服務(wù),并重置遠(yuǎn)程硬件(主要是為了ADSL貓防止它們停下來),分配其他任務(wù),恢復(fù)數(shù)據(jù)都不是大問題。我的已經(jīng)穩(wěn)定運(yùn)行了幾年,狀況良好!
精靈IP代理網(wǎng)站屏蔽的依據(jù)一般是特定IP單位時(shí)間的訪問量。我會(huì)把收集的任務(wù)按照目標(biāo)站點(diǎn)的IP分組,控制每個(gè)IP單位時(shí)間發(fā)送的任務(wù)數(shù)量,避免被封。當(dāng)然這個(gè)前提是你收集了很多網(wǎng)站,如果只收藏一個(gè)網(wǎng)站,就只能通過多個(gè)外部IP來實(shí)現(xiàn)。