爬蟲IP被封的解決方案
jj
2021-11-24
由于公司項目需要,需要收集各種地圖數(shù)據(jù),以及一些大型網(wǎng)站數(shù)據(jù)。那么,爬蟲IP被封了怎么辦?下面教你如何解決爬蟲被封IP的解決方案

一定要有更多的IP,比如ADSL。有條件的話,其實可以跟機房申請外部IP。
使用外部IP在機器上部署代理IP服務器。
你的程序,用輪換訓練代替代理服務器來訪問你想要收集的網(wǎng)站。
好處:
程序邏輯變化小,只需要代理功能。
根據(jù)其他網(wǎng)站不同的攔截規(guī)則,你只需要添加更多的代理即可。
即使特定的IP被屏蔽,也可以直接注銷代理服務器到OK,程序邏輯不需要改動。
有少數(shù)防范措施較弱的網(wǎng)站,可以偽裝IP,修改X-forward-for。。。)可以被旁路。大多數(shù)網(wǎng)站,如果你想頻繁抓取,通常需要更多的IP。我最喜歡的解決方案是將國外的VPS與多個IP進行匹配,通過默認網(wǎng)關(guān)交換實現(xiàn)IP交換,比HTTP代理效率高很多,估計在大多數(shù)情況下也比ADSL交換效率高。
ADSL+腳本,監(jiān)控是否阻塞,然后不斷切換ip。
設(shè)置查詢頻率限制
正統(tǒng)的方式是調(diào)用這個網(wǎng)站提供的服務接口。
有8年以上爬蟲經(jīng)驗的人告訴你,國內(nèi)ADSL為王,申請線路多,分布在很多不同的電信辦公室,可以跨省市更好。自己寫斷開重撥組件,自己寫動態(tài)IP跟蹤服務,重置遠程硬件(主要針對ADSL貓,防止它們停機),分發(fā)其他任務,恢復數(shù)據(jù),都不是什么大問題。我的已經(jīng)穩(wěn)定運行好幾年了,妥妥的!
網(wǎng)站封殺的依據(jù)一般是特定IP單位時間的訪問量。我將收集到的任務按照目標站點的IP進行分組,并控制每個IP單位時間發(fā)送的任務數(shù),避免阻塞。當然,這個前提是你收集了很多網(wǎng)站。如果只收藏一個網(wǎng)站,只能通過多個外部IPS來實現(xiàn)。

