ProxyHandler处理器(代理设置):解决封IP问题
很多网站会检测某段时间某个IP访问次数(通过流量统计、系统日志等),如果访问过多,网站会禁止这个IP访问。
因此这个时候我们往往需要换个“小号”来继续获取我们所用的数据。这个“小号”就是我么说的,代理。
代理原理:
在请求目的网站之前,先请求代理服务器,然后让代理服务器去请求目的网站,代理服务器拿到目的网站的数据后再转发给我们代码。
http://httpbin.org/ 这个网站能够http请求一些参数。
常用的代理有:
西刺免费代理IP:https://mtop.chinaz.com/site_www.xici.net.co.html
快代理:https://www.kuaidaili.com/
以代理云为例,使用代理:
从代理云种选择一个代理IP
from urllib import request
# 没有使用代理
url = 'http://httpbin.org/ip'
resp = request.urlopen(url)
print(resp.read())
#使用代理
url = 'http://httpbin.org/ip'
# 1.使用ProxyHandler创建一个代理handler
handler = request.ProxyHandler({'http': '140.143.6.16:1080'})
# 2.创建opener
opener = request.build_opener(handler)
# 3.使用opener发送一个请求
resp = opener.open(url)
print(resp.read())
上面为未使用代理的访问IP, 下面的为使用代理后的IP。