使用背景:要访问的网站会定期检测某个IP的访问此网站的次数,如果访问次数多的不像正常人,它会禁止这个IP访问此网站!!
目标网站:http://httpbin.org/ip(查看自己访问此网站的ip)
用途:设置一个代理服务器(换小号)可以解决不被禁止的问题!
我们可以运用http//httpbin.org 网站来查看http请求的一些参数。比如可以查看自己访问此网站的ip。
点击执行以后会看到ip等的数据!
常用的代理:
- 西刺免费代理IP:http://www.xicidaili.com/
- 快代理:http://www.kuaidaili.com/
- 代理云:http://www.dailiyun.com/
我们打开快代理获取一个免费的ip如下图:
使用代理的步骤:
- 使用ProxyHandler,传入代理构建一个Handler
- 使用上面创建的Handler构建一个opener
- 使用opener去发送一个请求
代码实现:
from urllib import request
url='http://httpbin.org/ip'
#使用代理的步骤:
# 1.使用ProxyHandler,传入代理构建一个Handler
handler=request.ProxyHandler({'http':'IP:PORT'}) #注意目标网站的类型是http还是https
# 2.使用上面创建的Handler构建一个opener
opener=request.build_opener(handler)
# 3.使用opener去发送一个请求
resp=opener.open(url)
print(resp.read())
由于网络问题出现urllib.error.URLError: <urlopen error [WinError 10061] 由于目标计算机积极拒绝,无法连接>或者ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。是正常的。可以尝试多个ip或者从推荐的网站中寻找合适的ip