【http://blog.csdn.net/pleasecallmewhy/article/details/8924889】
urllib2中的两个重要概念:Openers和Handlers
获取一个URL使用默认opener:通过urlopen。Openers使用处理器handlers,所有的“繁重”工作http://blog.csdn.net/pleasecallmewhy/article/details/8924889
笔记:
urllib2中的两个个方法:info and geturl
urllib2_test10.py来比较一下原始URL和重定向的链接:
按原文网址输出
response = urlopen(req)错误,更换网之后成功。
*geturl()返回获取的真实的URL因为urlopen(或者opener对象使用的)或许会有重定向。获取的URL或许跟请求URL不同。
***************************************************************************
***************************************************************************
************插入两个网址
************1.爬取贴吧图片和文本
http://m.blog.csdn.net/qq_24421591/article/details/52596076
************2.抓取新闻并自动生成word文档
http://m.blog.csdn.net/xiongyangg/article/details/50610545
*******************************************************************************
urllib2_test11.py来测试一下info的应用:
eg : Basic Authentication 基本验证
- #
-*- coding: utf-8 -*- - import
urllib2 -
- #
创建一个密码管理者 - password_mgr
= urllib2.HTTPPasswordMgrWithDefau ltRealm() -
- #
添加用户名和密码 - #
如果知道 realm, 我们可以使用他代替 ``None``. - top_level_url
= "http://example.com/foo/" - password_mgr.add_password(None,
top_level_url,'why', '1223')# (None, top_level_url, username, password) - handler
= urllib2.HTTPBasicAuthHandler(password_mgr)# 创建了一个新的handler -
- #
创建 "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)