python爬虫

爬虫基础系列urllib——HTTP代理(5)

2019-05-06  本文已影响0人  猛犸象和剑齿虎
1920664-0c61644217f76c3a.jpg

(这是抄网上的一段解释)

什么是HTTP代理

  1. 突破自身IP访问限制,访问国外站点;
  2. 访问一些单位或团体内部资源,如某大学的内部网,使用教育网内地址段免费代理服务器可以用于对教育 网开放的各类下载上传以及各类资料查询共享等服务;
  3. 突破中国电信的IP封锁:中国电信有很多网站限制了用户访问,使用HTTP代理可以突破访问限制;
  4. 提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时将信息保存到缓冲区中,当其他用户再访问相同的信息时, 可直接由缓冲区中取出信息传递给用户,提高访问速度;
  5. 隐藏真实IP:HTTP代理可以隐藏IP地址,避免受到网络攻击。

在爬虫中的实现

#之前一直用urlopen()函数,它不支持代理,cookie,以及HTTP,HTTPS等一些方法
#这里用到request.build_opener()方法

from urllib import request
#构建处理器对象,专门处理请求头的对象
http_hander=request.HTTPHandler()
#创建一个自定义的opener
opener=request.build_opener(http_hander)
#同样也可以用原先的urlopen()方法,需要把opener设置为全局变量
request.install_opener(opener)

#创建自定义请求对象
req=request.Request("http://www.baidu.com/")
#发送请求获取响应
reponse=request.urlopen(req).read()
#reponse=opener.open(req).read().decode()#这里的方式与urlopen类似
print(reponse)

返回结果将是二进制形式的网页信息

上一篇下一篇

猜你喜欢

热点阅读