Python爬虫0.2

来源:互联网 发布:淘宝 618 大促 销售额 编辑:程序博客网 时间:2024/06/11 08:22
【http://blog.csdn.net/pleasecallmewhy/article/details/8924889】
笔记:
urllib2中的两个个方法:infoand geturl 

urllib2_test10.py来比较一下原始URL和重定向的链接

[python] view plain copy
  1. from urllib2 import Request, urlopen, URLError, HTTPError  
  2. old_url 'http://rrurl.cn/b1UZuP'  
  3. req Request(old_url)  
  4. response urlopen(req)    
  5. print 'Old url :' old_url  
  6. print 'Real url :' response.geturl() 
按原文网址输出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的应用

 

[python] view plain copy
  1. from urllib2 import Request, urlopen, URLError, HTTPError  
  2. old_url 'http://www.baidu.com'  
  3. req Request(old_url)  
  4. response urlopen(req)    
  5. print 'Info():'  
  6. print response.info()  
 urllib2中的两个重要概念:Openers和Handlers
 获取一个URL使用默认opener:通过urlopen。Openers使用处理器handlers,所有的“繁重”工作http://blog.csdn.net/pleasecallmewhy/article/details/8924889
eg : Basic Authentication 基本验证
  1. -*- coding: utf-8 -*-  
  2. import urllib2  
  3.   
  4. 创建一个密码管理者  
  5. password_mgr urllib2.HTTPPasswordMgrWithDefaultRealm()  
  6.   
  7. 添加用户名和密码    
  8. 如果知道 realm, 我们可以使用他代替 ``None``.  
  9. top_level_url "http://example.com/foo/"   
  10. password_mgr.add_password(Nonetop_level_url,'why''1223')(None, top_level_url, username, password)   
  11. handler urllib2.HTTPBasicAuthHandler(password_mgr)创建了一个新的handler  
  12.   
  13. 创建 "opener" (OpenerDirector 实例)  
  14. opener urllib2.build_opener(handler)  
  15.   
  16. a_url 'http://www.baidu.com/'    
  17. 使用 opener 获取一个URL  
  18. opener.open(a_url)  
  19.   
  20. 安装 opener.  
  21. 现在所有调用 urllib2.urlopen 将用我们的 opener.  
  22. urllib2.install_opener(opener)
 
 
 
原创粉丝点击