python爬虫----handler和opener
- opener是 urllib2.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的opener(也就是模块帮我们构建好的)
- 但是基本的urlopen不支持代理,cookie等其他HTTP/HTTPS高级功能,所以要支持这些功能:
-
- 使用相关的Handler处理器来创建特定功能的处理器对象
- 然后通过urllib2.build_opener()方法使用这些处理器对象,创建自定义opener()对象
- 使用自定义的opener对象,调用open()发送请求
-
- 如果程序中的所有请求都使用自定义的opener,可以使用urllib2.install_opener将自定义的opener设为全局opener,表示之后凡是调用urlopen,都将使用这个opener。