代理ip與urllib

代理ip使用

httpproxy_handler = urllib.request.ProxyHandler({"http" : "61.135.217.7:80"})
nullproxy_handler = urllib.request.ProxyHandler({})
#擔心此ip無法使用
proxySwitch = True #定義一個代理開關

if proxySwitch:
    opener = urllib.request.build_opener(httpproxy_handler)
else:
    opener = urllib.request.build_opener(nullproxy_handler)
#使opener應用到全局
urllib2.install_opener(opener)
response = urlopen(request)或者response=opener.open(request)

隨機選擇代理

proxy_list = [
    {"http" : "61.135.217.7:80"},
    {"http" : "111.155.116.245:8123"},
    {"http" : "122.114.31.177:808"},
]

# 隨機選擇一個代理
proxy = random.choice(proxy_list)

關於python隨機數,歡迎看我的文章:random的用法

使用購買的代理

構建一個私密代理Handler,需要加上私密代理賬戶的用戶名和密碼

authproxy_handler=urllib.request.ProxyHandler({"http" :"username:[email protected]:80"})
opener = urllib.request.build_opener(authproxy_handler)
response = opener.open(request)

備註:正常情況下,爲了不暴露自己的代理賬戶和密碼,代理的賬戶和密碼,一般會提取出來,封裝到其他模塊,需要的時候再調用,或者使用os.environ.get()來讀取和修改環境變量。
詳細用法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章