1. 程式人生 > >IP代理或日常使用過程中解決ip被封鎖IP限制的幾種方法

IP代理或日常使用過程中解決ip被封鎖IP限制的幾種方法

方法1 使用多IP: 1.IP必須需要,比如ADSL。如果有條件,其實可以跟機房多申請外網IP。 2.在有外網IP的機器上,部署代理伺服器。 3.你的程式,使用輪訓替換代理伺服器來訪問想要採集的網站。 好處: 1.程式邏輯變化小,只需要代理功能。 2.根據對方網站遮蔽規則不同,你只需要新增更多的代理就行了。 3.就算具體IP被遮蔽了,你可以直接把代理伺服器下線就OK,程式邏輯不需要變化。

方法2. 有小部分網站的防範措施比較弱,可以偽裝下IP,修改X-Forwarded-for(貌似這麼拼。。。)即可繞過。 、 大部分網站麼,如果要頻繁抓取,一般還是要多IP。 我比較喜歡的解決方案是國外VPS再配多IP,通過預設閘道器切換來實現IP切換,比HTTP代理高效得多,估計也比多數情況下的ADSL切換更高效​

方法3. ADSL + 指令碼,監測是否被封,然後不斷切換 ip 設定查詢頻率限制 正統的做法是呼叫該網站提供的服務介面。​

方法4. 國內ADSL是王道,多申請些線路,分佈在多個不同的電信區局,能跨省跨市更好,自己寫好斷線重撥元件,自己寫動態IP追蹤服務,遠端硬體重置(主要針對ADSL貓,防止其宕機),其餘的任務分配,資料回收,都不是大問題。​

方法5. 1 user agent 偽裝和輪換 2 使用代理 ip 和輪換 3 cookies 的處理,有的網站對登陸使用者政策寬鬆些 友情提示:考慮爬蟲給人家網站帶來的負擔,be a responsible crawler :)​

方法6. 儘可能的模擬使用者行為: 1、UserAgent經常換一換; 2、訪問時間間隔設長一點,訪問時間設定為隨機數; 3、訪問頁面的順序也可以隨機著來 。​

方法7. 網站封的依據一般是單位時間內特定IP的訪問次數. 我是將採集的任務按 目標站點的IP進行分組 通過控制每個IP 在單位時間內發出任務的個數,來避免被封. 當然,這個前題是你採集很多網站.如果只是採集一個網站,那麼只能通過多外部IP的方式來實現了。​

方法8. 對爬蟲抓取進行壓力控制;可以考慮使用代理的方式訪問目標站點。 降低抓取頻率,時間設定長一些,訪問時間採用隨機數 頻繁切換UserAgent(模擬瀏覽器訪問) 多頁面資料,隨機訪問然後抓取資料 -更換使用者IP。​​​​​ 需要IP代理的可以加企鵝3218080091