一.代理的介绍
1.ProxyHandler函数的作用
ProxyHandler用来调用代理IP地址,通过代理IP访问目标网站;一般网站的反爬机制会检测到某个IP的在某个时间段的访问次数,如果访问速度过快或者访问次数过多,他就会限制这个IP的访问次数。
2.代理的作用
简单来说,就是解决IP限制问题
3.代理的原理
在访问目标网站之前,先访问设置的代理IP,通过代理IP的服务器去请求目标网站,代理IP请求到返回数据信息后,再转发给我们
4.免费的代理网站
快代理:https://www.kuaidaili.com/
齐云代理:https://www.7yip.cn/free/
89免费代理:http://www.89ip.cn/
这些免费的代理网站的代理服务器可能不太稳定,在请求的时候可能会出现报错,这属于正常现象;以上网站仅供参考
二.实例
1.代码块
详细步骤看代码注释
#使用代理时,对网站发出请求
from urllib import request
url = "https://developer.aliyun.com/mirror/"
#使用ProxyHandler传入代理IP,构建一个handler
handler = request.ProxyHandler({'https':'118.113.247.239:9999','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4181.9 Safari/537.36'})
#使用上面的handler,构建一个opener
opener = request.build_opener(handler)
#使用opener发送请求
resq = opener.open(url)
print(resq.read().decode())
2.常见报错
此类报错均为代理IP地址为题