源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers

  • 时间:2020-07-23 03:54 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
在开始后面的内容之前,先来解释一下urllib2中的两个个方法:info / geturl urlopen返回的应答对象response(或者HTTPError实例)有两个很有用的方法info()和geturl() [b]1.geturl():[/b] 这个返回获取的真实的URL,这个很有用,因为urlopen(或者opener对象使用的)或许会有重定向。获取的URL或许跟请求URL不同。 以人人中的一个超级链接为例, 我们建一个urllib2_test10.py来比较一下原始URL和重定向的链接:
[url=http://example.com/foo/]http://example.com/foo/[/url]"  # 如果知道 realm, 我们可以使用他代替 ``None``.  # password_mgr.add_password(None, top_level_url, username, password)  password_mgr.add_password(None, top_level_url,'why', '1223')  # 创建了一个新的handler  handler = urllib2.HTTPBasicAuthHandler(password_mgr)  # 创建 "opener" (OpenerDirector 实例)  opener = urllib2.build_opener(handler)  a_url = 'http://www.baidu.com/'  # 使用 opener 获取一个URL  opener.open(a_url)  # 安装 opener.  # 现在所有调用 urllib2.urlopen 将用我们的 opener.  urllib2.install_opener(opener) 
   注意:以上的例子我们仅仅提供我们的HHTPBasicAuthHandler给build_opener。 默认的openers有正常状况的handlers:ProxyHandler,UnknownHandler,HTTPHandler,HTTPDefaultErrorHandler, HTTPRedirectHandler,FTPHandler, FileHandler, HTTPErrorProcessor。 代码中的top_level_url 实际上可以是完整URL(包含"http:",以及主机名及可选的端口号)。 例如:[url=http://example.com/]http://example.com/[/url]。 也可以是一个“authority”(即主机名和可选的包含端口号)。 例如:“example.com” or “example.com:8080”。 后者包含了端口号。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部