python urllib設定代理伺服器爬取資料
瞭解到爬蟲在爬取時,有時會受到ip一定時間內訪問數量的限制,按照網上大神的說法,應當設定通過代理伺服器訪問網頁。
我還沒有爬取過那麼龐大的資料,當前沒遇到這個問題。這裡只是把方法記錄
整體步驟為:
1、設定代理伺服器
2、爬取資料
設定代理伺服器的方法為
import urllib.request def set_proxy(): handler = urllib.request.ProxyHandler({'http':'http://131.135.6.59:8080'}) opener = urllib.request.build_opener(handler) return opener
這裡的handler函式需要一個字典函式,前半部分為伺服器地址,冒號後為埠
opener用來建立一個伺服器
第二步是爬取資料
def get_content(url)L
opener = set_proxy()
return opener.open(url)
這裡有分支,按照網上大神的說法,可以設定預設伺服器。用到的函式呼叫是urllib.request.install_opener(opener),無返回值,方法呼叫。
這樣的呼叫是重新設定了預設伺服器,爬取資料的時候可以用urllib.request.urlopen(url)進行爬取