Python学习笔记(15) 网络爬虫使用proxy实现自动换IP防封锁
如果網絡爬蟲訪問某個網站太頻繁,很可能被目標網站封鎖,雖然網站封鎖有很多種,需要不同的應對方案,但是,最常用的緩解封鎖的方案是換IP,關于其他封鎖應對方案大家可以跟帖討論。
換IP也有兩個方案:
本文講解方案2,由于各個proxy服務的api各不相同,每接入一種proxy服務,都要修改網絡爬蟲軟件,本文只講解接入芝麻http的方法,如果您需要接入其他proxy服務,需要與集搜客技術支持聯系。
1.? 獲得提取IP的網址
在芝麻http網站上,頂部菜單有“獲取API”,進入到獲取API頁面,假定購買了按次提取的服務,如下圖進行設置,以獲得提取IP的網址。
注意提取數量:選擇1個,因為爬蟲每次只用一個。其他選擇看上圖,通過這個API接口,會返回提取到的IP和端口號,集搜客網絡爬蟲需要解析這個返回結果,只支持JSON格式的返回結果,所以,要像上圖那樣設置。
點擊“生成API鏈接”,就能得到一個網址,這個網址是要配置到集搜客網絡爬蟲中的,爬蟲會每隔一定時間通過這個網址提取一個新IP地址。
2.? 實驗提取IP
點擊“生成API鏈接”后,能看到這個頁面內容
點擊復制鏈接,可以把這個網址拷貝下來,到網絡爬蟲軟件那里用上這個網址做proxy配置(下面的章節講解)。
點擊“打開鏈接”,我們查看一下API返回的結果,如下圖:
3.? 配置爬蟲軟件
經過上面的步驟,獲得了4項內容,需要配置到爬蟲軟件中:
- 提取IP的網址
- 返回結果中的ip字段的名字
- 返回結果中的端口號字段的名字
- 返回結果中的超時時間字段的名字:就是需要重新換IP的時間
如上圖,選擇DS打數機菜單 高級->設置代理,可以看到配置proxy服務器的窗口,點擊添加按鈕,輸入上述4項內容。
點擊“取IP”按鈕,彈出窗口中如果看到返回的json格式的結果中含有ip地址和端口號等,表示已經能正確提取IP了。
4.? 啟用提取IP
缺省是不啟用的,而且也可以隨時關閉,畢竟每次提取IP是需要花錢的。啟用的方法如下圖,勾選“在用”,就能把這條proxy服務器設置使用起來。在同一臺計算機上,只能啟用一個,否則就沖突了。
如果啟用了,就可以在集搜客瀏覽器上測試一下效果。在集搜客瀏覽器上訪問百度,并且搜索IP地址,看看百度顯示的IP地址是什么,如下圖:
上圖能看出來,得到的地址顯然不是自己所在地的地址,看來配置的生效了。
5.? 診斷
如果IP提取成功,就會在集搜客瀏覽器中進行配置,這個配置是全局的,所有DS打數機窗口和瀏覽器窗口都會使用這個IP,這個配置可以在瀏覽器中通過輸入網址about:config看到,如下圖
輸入搜索條件:proxy,看到ftp, http, socks, ssl等都使用了提取到的IP和端口號。
如果能看到這些設置,依然不能訪問互聯網,比如,連百度都訪問不了,那么你所在的網絡可能禁止了proxy通信協議。那么只有采用本文開頭說的方案1了。
總結
以上是生活随笔為你收集整理的Python学习笔记(15) 网络爬虫使用proxy实现自动换IP防封锁的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Restful接口
- 下一篇: java 2分代复制垃圾回收_Java对