爬虫基础四(ProxyHandler处理器)

ProxyHandler处理器(代理设置)

很多网站会检测某一段时间某个IP的访问次数(通过流量统计,系统日志等),如果访问次数过多且不太寻常,IP会被浏览器禁止访问。所以通常采用一些代理器,每个一段时间换一个代理,就算IP被禁止,依然能换IP继续爬虫。

urllib使用ProxyHandler来设置使用代理服务器
爬虫基础四(ProxyHandler处理器)_第1张图片
代理的数据格式是字典

常见的代理:

  1. 西刺免费代理IP:http://www.xicidaili.com/
  2. 快代理:http://www.kuaidaili.com/
  3. 代理云:http://www.dailiyun.com/

ProxyHandler代理器使用

**原理:**在请求目的网站之前,先请求代理服务器,然后让代理服务器去请求目的网站,代理服务器哦拿到目的网站的数据后,再转发给我们的代码

查看:用代码访问http://httpbin.org网站可以看到我们代码在访问http的一些参数

例如:使用代码访问http://httpbin.org/ip网址可以返回我们的ip地址

from urllib import request

url = 'http://httpbin.org/ip'

resp = request.urlopen(url)
print(resp.read())

使用代理

登陆西刺网站选择最近的IP地址,使用代理的代码如下:

from urllib import request

handler = request.ProxyHandler({'http':'183.166.71.212:9999'})#'http':'ip:端口'
#2.使用代理构建一个open
opener = request.build_opener(handler)
#3.使用opener发送请求
resp = opener.open(url)
print(resp.read())

你可能感兴趣的:(爬虫)