如果同一個IP短時間內多次訪問統一網頁,可能會被系統識別出是爬蟲,因此使用代理IP可以很大程度上解決這一問題 常用的代理有: 西刺免費代理:www.xicidaili.com 快代理:www.kuaidaili.com 代理雲:www.dailiyun.com 那麼我們如何知道自己的代理IP是否已經 ...
如果同一個IP短時間內多次訪問統一網頁,可能會被系統識別出是爬蟲,因此使用代理IP可以很大程度上解決這一問題
常用的代理有:
西刺免費代理:www.xicidaili.com
快代理:www.kuaidaili.com
代理雲:www.dailiyun.com
那麼我們如何知道自己的代理IP是否已經成功使用了呢?
很簡單www.httpbin.org為我們提供了這個功能。www.http.org上可以看到我們訪問網站所有提交的信息,在www.httpbin.org/ip上可以看到我們所需要的IP信息,如圖
那麼我們開始
我們使用以下免費代理
編寫代碼如下
from urllib import request #沒有使用代理 url='http://www.httpbin.org/ip' resp = request.urlopen(url) print(resp.read()) #使用代理的 url='http://www.httpbin.org/ip' # 1.使用ProxyHandler,傳入代理構建一個handler headler = request.ProxyHandler({'http':'223.244.45.134:65309'}) # 2. 使用上面構建的handler構建一個opner opner = request.build_opener(headler) # 3. 使用opener去發送一個請求 resp = opner.open(url) print(resp.read())
需要導入urllib下的request庫這是python自帶的
headler = request.ProxyHandler({'http':'223.244.45.134:65309'})
需要註意的是ProxyHandler()參數由字典組成:http 與 ip地址均由上面的服務商提供,“65309”為開放的埠號。
運行得到以下結果
b'{\n "origin": "124.160.219.5"\n}\n' b'{\n "origin": "36.6.92.28"\n}\n'
說明我的代理ip使用成功了 註意:有可能因為免費的代理ip不穩定而導致錯誤的發生,畢竟免費的總是要出問題的。
以上內容有本人編寫,如有轉載請標明出處