1---urllib2是非常强大的Python网络资源访问模块,它的功能和urllib模块相似

      python标准库中的urllib2模块可以说是urlib模块的一个升级的复杂版,不需要另外下载,

比如访问的网络资源需要http验证,

                 需要cookie信息,

                 模仿普通浏览器一样去访问网络,网页资源

            这个时候用urllib2

2---urllib2模块介绍

    1)设置timeout超时设置:

        import urllib2

        test=urllib2.urlopen('http://www.iplaypy.com/',timeout=15)

#2个参数,一个是url地址,一个是超时的时候,这次的测试设定值是15

    2)在访问的时候加入Header头部信息

        header={“User-Agent”:“Mozilla-firefox24.0”}  #字典类型

        urllib2.urlopen(url,header)

像上面这样的操作,就可以加上Header头部信息,用来模仿浏览器行为,应对一些禁止爬虫的网络资                         源,非常实用

    3)用urllib2得到http网页状态码

        import urllib2

        test=urllib2.urlopen("http://baidu.com/”)

        test.code

这样就可以访问百度的网页状态码,200证明能访问,得到网页内容

    4)使用urllib2对Cookie进行处理

        import urllib2

        import cookielib

        cookie=cookielib.CookieJar()  #后面函数方法要注意C和J是大写的

        opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))

        response=opener.open('http://www.baidu.com')

        for item in cookie:

          if item.name=="some——cookie_item_name"

            print item.value

    5)urlopen()----是处理的入口函数,获取OpenerDiretor对象,调用Opener.open()

                     默认的OpenDiretor对象保存在变量_open中,采用Singleton模式

    build_opener()----

install_opener()---将OpenerDirector对象保存在变量_opener中,作为默认opener使用

class Openerdirector

    class Resquest---作为一个信息对象,保存和url相关的参数,包括headers,data,proxy等,用于url参数传递

class HTTPHandler---类继承者关系:BaseHandler-->AbstracHTTPHandler-->HTTPHandler

调用httplib.HTTPConnection完成HTTp的处理

最新文章

  1. 用jdbc访问二进制类型的数据
  2. SQL SERVER中什么情况会导致索引查找变成索引扫描
  3. Bash 什么时候会给 HOME 赋初始值
  4. WebMidiLink
  5. sql 优化 链接提示 查询提示 标提示
  6. 类函数和对象函数 PHP
  7. mvc项目架构搭建之UI层的搭建
  8. eclipse的使用-------Text File Encoding没有GBK选项的设置
  9. 山东理工大学第七届ACM校赛-飞花的线代 分类: 比赛 2015-06-26 10:29 10人阅读 评论(0) 收藏
  10. UNIX 网络编程第三版
  11. 工作中Linux常用命令
  12. 为什么样本方差(sample variance)的分母是 n-1?
  13. 环境监测小助手V1.1的Windows版
  14. libiconv2.dll
  15. 触发器应用 trigger
  16. JS 对象API之修改、删除对象的属性
  17. loadtxt函数
  18. nodejs之glob与globby
  19. 哈希表概念和实现,C/C++实现
  20. 使用solr界面管理工具创建core 不能用的解决方法

热门文章

  1. 六十四、SAP中的内表的9种定义方式
  2. 使用HttpURLConnection方式访问接口
  3. Spring Cloud 支付宝支付的流程
  4. 常见的Java的软件包
  5. C# winform中ListView用法
  6. opencv人脸检测
  7. UVA - 11054 Wine trading in Gergovia (Gergovia 的酒交易)(贪心+模拟)
  8. 从GitLab上拉到本地仓库的项目导入到eclipse中
  9. Arduino - ( Uno、Nano、Promini)针脚示意图
  10. 使用Redux管理React数据流要点浅析