代理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()來讀取和修改環境變量。
詳細用法