爬蟲之proxy(代理)
阿新 • • 發佈:2018-05-10
and urllib com 爬蟲 read ID 用戶登錄 現實生活 就會
proxy簡介
proxy即為代理,我們爬蟲的時候肯定會有頻繁訪問某一網站的情況,這個時候有些服務器會識別到我們是非正常訪問,就會把我們的IP禁掉,這個時候就需要用代理了。
就好比現實生活中,我需要向A借一件東西,但是我跟A是仇人,直接向他借的話他不會借給我,這個時候我就讓B幫我像A借,就說他要用,然後B借到東西之後再把東西給我用,這時,B就是我的代理了。
常用的免費代理網站:http://www.goubanjia.com/。
爬蟲應該選擇什麽樣的代理?
- 針對不需要用戶登錄,cookie驗證的網站,一般選擇動態高匿代理。
- 對於需要用戶登錄,身份認證的。一般選擇靜態IP
使用proxy的步驟
- 設置代理地址
proxy = {‘http‘:‘52.187.162.198:3128‘}
- 創建ProxyHeader
proxyHeader = request.ProxyHandler(proxy)
- 創建Opener
opener = request.build_opener(proxyHeader)
- 安裝Opener
request.install_opener(opener)
示例
from urllib import request # 設置代理地址 proxy = {‘http‘:‘52.187.162.198:3128‘} # 創建ProxyHeader proxyHeader = request.ProxyHandler(proxy) # 創建Opener opener = request.build_opener(proxyHeader) # 安裝Opener request.install_opener(opener) # 然後剩下的就跟正常使用差不多,只不過此時的request已經是綁定了代理之後的request url = ‘https://www.taobao.com/‘ req = request.Request(url) response = request.urlopen(req) print(response.read().decode())
爬蟲之proxy(代理)