python爬取准备四 定义Opener和设置代理IP
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,Handler和OpenerHandler处理器和自定义Openeropener是urllib2.OpenerDirector的实例,我们之前一直在使用urlopen,它是一个特殊的opener(也就
千家信息网最后更新 2025年12月03日python爬取准备四 定义Opener和设置代理IP
Handler和Opener
Handler处理器和自定义Opener
opener是urllib2.OpenerDirector的实例,我们之前一直在使用urlopen,它是一个特殊的opener(也就是我们构建好的)。
但是urlopen()方法不支持代理、cookie等其他的HTTP/GTTPS高级功能。所有要支持这些功能:
1.使用相关的Handler处理器来创建特定功能的处理器对象;
2.然后通过urllib2.build_opener()方法使用这些处理器对象,创建自定义opener对象;
3.使用自定义的opener对象,调用open()方法发送请求。
如果程序里所有的请求都使用自定义的opener,可以使用urllib2.install_open()将自定义的opener对象定义为全局opener,表示如果之后凡是调用urlopen,都将使用这个opener(根据自己的需求来选择)
自定义opener()
# _*_ coding:utf-8 _*_import urllib2# 构建一个HTTPHandler处理器对象,支持处理HTTP的请求http_handler = urllib2.HTTPHandler()# 调用build_opener()方法构建一个自定义的opener对象,参数是构建的处理器对象opener = urllib2.build_opener(http_handler)request = urllib2.Request('http://www.139.com')# 调用自定义opener对象的open()方法,发送request请求response = opener.open(request) print response.read()设置代理IP
很多网站会检测某一段时间某个IP的访问次数(通过流量统计,系统日志等),如果访问次数多的不像正常人,它会禁止这个IP的访问。
所以我们可以设置一些代理服务器,每隔一段时间换一个代理,就算IP被禁止,依然可以换个IP继续爬取。
urllib2中通过ProxyHandler来设置使用代理服务器,使用自定义opener来使用代理:
代理IP网站:http://www.xicidaili.com/;https://www.kuaidaili.com/free/inha/
# _*_ coding:utf-8 _*_import urllib2# 构建一个Handler处理器对象,参数是一个字典类型,包括代理类型和代理服务器IP+Porthttpproxy_handler = urllib2.ProxyHandler({'http':'118.114.77.47:8080'})#使用代理opener = urllib2.build_opener(httpproxy_handler)request = urllib2.Request('http://www.baidu.com/s')#1 如果这么写,只有使用opener.open()方法发送请求才使用自定义的代理,而urlopen()则不使用自定义代理。response = opener.open(request)#12如果这么写,就是将opener应用到全局,之后所有的,不管是opener.open()还是urlopen() 发送请求,都将使用自定义代理。#urllib2.install_opener(opener)#response = urllib2.urlopen(request)print response.read()
代理
对象
处理
处理器
方法
功能
服务器
支持
服务
全局
参数
时间
次数
类型
网站
utf-8
特殊
高级
也就是
只有
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
在线数据库平台
中山app软件开发怎么样
泰安软件开发教学平台在线学习
长达互联网科技有限公司
医疗信息系统软件开发工程师
软件开发学校培训机构
劳务实名制软件开发
搭建服务器教程访问国外
软件开发 技术岗位职责
网络安全相关证书有哪些
江西鹰潭网络安全试点
网络安全专项整治工作方案内容
metabric数据库视频
数据库集群访问中间件
服务器管理器怎么设置
安卓数据库链接
网络安全是保障网路数据
网络安全800心得体会
商品供应数据库应用题及答案
数据库用户管理中包含哪些内容
客户机虚拟服务器安全吗
判断ip地址是否为服务器地址
数据库设计一个学校图书管理系统
关于软件开发的决策
中誉互联网科技有限公司
成都服务器代理商有限公司
数据库集群访问中间件
如何避免软件开发项目风险
服务器se岗位
福建软件开发设计