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

猜你喜欢

转载自blog.csdn.net/weixin_45970042/article/details/106158196