1. 程式人生 > >爬蟲之proxy(代理)

爬蟲之proxy(代理)

and urllib com 爬蟲 read ID 用戶登錄 現實生活 就會

proxy簡介

proxy即為代理,我們爬蟲的時候肯定會有頻繁訪問某一網站的情況,這個時候有些服務器會識別到我們是非正常訪問,就會把我們的IP禁掉,這個時候就需要用代理了。

就好比現實生活中,我需要向A借一件東西,但是我跟A是仇人,直接向他借的話他不會借給我,這個時候我就讓B幫我像A借,就說他要用,然後B借到東西之後再把東西給我用,這時,B就是我的代理了。

常用的免費代理網站:http://www.goubanjia.com/。

爬蟲應該選擇什麽樣的代理?

  • 針對不需要用戶登錄,cookie驗證的網站,一般選擇動態高匿代理。
  • 對於需要用戶登錄,身份認證的。一般選擇靜態IP

使用proxy的步驟

  1. 設置代理地址
    proxy = {‘http‘:‘52.187.162.198:3128‘}
  2. 創建ProxyHeader
    proxyHeader = request.ProxyHandler(proxy)
  3. 創建Opener
    opener = request.build_opener(proxyHeader)
  4. 安裝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(代理)