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