方法1.
1.ip必須需要,比如adsl。如果有條件,其實可以跟機房多申請外網ip。
2.在有外網ip的機器上,部署**伺服器。
3.你的程式,使用輪訓替換**伺服器來訪問想要採集的**。
好處:1.程式邏輯變化小,只需要**功能。
3.就算具體ip被遮蔽了,你可以直接把**伺服器下線就ok,程式邏輯不需要變化。
方法2.
有小部分**的防範措施比較弱,可以偽裝下ip,修改x-forwarded-for(貌似這麼拼。。。)即可繞過。
大部分**麼,如果要頻繁抓取,一般還是要多ip。我比較喜歡的解決方案是國外vps再配多ip,通過預設網關切換來實現ip切換,比http**高效得多,估計也比多數情況下的adsl切換更高效。
方法3.
正統的做法是呼叫該**提供的服務介面。
方法4.
8年多爬蟲經驗的人告訴你,國內adsl是王道,多申請些線路,分布在多個不同的電信區局,能跨省跨市更好,自己寫好斷線重撥元件,自己寫動態ip追蹤服務,遠端硬體重置(主要針對adsl貓,防止其宕機),其餘的任務分配,資料**,都不是大問題。我的已經穩定執行了好幾年了,妥妥的!
方法5.
1 user agent 偽裝和輪換
2 使用** ip 和輪換
3 cookies 的處理,有的**對登陸使用者政策寬鬆些
方法6.
盡可能的模擬使用者行為:
1、useragent經常換一換;
2、訪問時間間隔設長一點,訪問時間設定為隨機數;
3、訪問頁面的順序也可以隨機著來
方法8.
**封的依據一般是單位時間內特定ip的訪問次數.
我是將採集的任務按 目標站點的ip進行分組 通過控制每個ip 在單位時間內發出任務的個數,來避免被封.當然,這個前題是你採集很多**.如果只是採集乙個**,那麼只能通過多外部ip的方式來實現了.
方法9.
1. 對爬蟲抓取進行壓力控制;
2. 可以考慮使用**的方式訪問目標站點。
-降低抓取頻率,時間設定長一些,訪問時間採用隨機數
-頻繁切換useragent(模擬瀏覽器訪問)
-多頁面資料,隨機訪問然後抓取資料
-更換使用者ip
知識點:
0.檢測是否是高匿**
乙個為匿名**, 多個為透明**
1.使用**ip
s =requests.session()s.proxies =
2.使用adsl
3.vps多ip
4.使用squid維護連線池(keep-alive),避免多次連線,附帶資料快取功能
如何解決爬蟲ip被封的問題
在這個網路高速發展的時代,各種網路技術層出不窮,網路爬蟲就是其中的一種,而且越來越火,大到各種大型 小到微博,汽車,身邊所有能在網路上留下資訊都都能做為爬蟲的目標。但是隨著爬蟲越來越強,各種 的反爬蟲的技術也越來越先進.出現了各種各樣的驗證碼,以前還只是數字類,後來類,最 是12306的,人工都只有...
如何解決爬蟲ip被封的問題
在這個網路高速發展的時代,各種網路技術層出不窮,網路爬蟲就是其中的一種,而且越來越火,大到各種大型 小到微博,汽車,身邊所有能在網路上留下資訊都都能做為爬蟲的目標。但是隨著爬蟲越來越強,各種 的反爬蟲的技術也越來越先進.出現了各種各樣的驗證碼,以前還只是數字類,後來類,最 是12306的,人工都只有...
如何解決爬蟲ip被封的問題
在這個網路高速發展的時代,各種網路技術層出不窮,網路爬蟲就是其中的一種,而且越來越火,大到各種大型 小到微博,汽車,身邊所有能在網路上留下資訊都都能做為爬蟲的目標。但是隨著爬蟲越來越強,各種 的反爬蟲的技術也越來越先進.出現了各種各樣的驗證碼,以前還只是數字類,後來類,最 是12306的,人工都只有...