代理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()来读取和修改环境变量。
详细用法