在进行爬虫的时候,很多网站会检测某一段时间内同一个ip的访问次数,如果访问的次数异常多,就会禁止这个ip的访问,可以通过设置一些代理服务器,通过每隔一段时间换一个代理进行爬取。通过urllib中的ProxyHandler来设置代理服务器。
常用的代理有:
- 西刺免费代理IP:http://www.xicidaili.com/
- 快代理:http://www.kuaidaili.com/
- 代理云:http://www.dailiyun.com/
#没有使用代理的方法
from urllib import request
resp=request.urlopen("http://httpbin.org/ip")
print(resp.read())
#使用代理
from urllib import request
handler=request.ProxyHandler({'http':'116.7.176.170:8118'})#使用ProxyHandler,传入代理构建一个handler
opener=request.build_opener(handler)#使用上面创建的handler构建一个opener
req=request.Request("http://httpbin.org/ip")
resp=opener.open(req)#使用opener去发送一个请求
print(resp.read())