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的处理

17.3.12--urllib2模块的更多相关文章

  1. cookielib和urllib2模块相结合模拟网站登录

    1.cookielib模块 cookielib模块的主要作用是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源.例如可以利用 本模块的CookieJar类的对 ...

  2. Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块

    Python第十三天   django 1.6   导入模板   定义数据模型   访问数据库   GET和POST方法    SimpleCMDB项目   urllib模块   urllib2模块 ...

  3. python网页请求urllib2模块简单封装代码

    这篇文章主要分享一个python网页请求模块urllib2模块的简单封装代码. 原文转自:http://www.jbxue.com/article/16585.html 对python网页请求模块ur ...

  4. 【Python】Python的urllib模、urllib2模块的网络下载文件

    因为需要从一些下载一个页PDF文件.但是需要下载PDF有数百个文件,这是不可能用人工点击下载.只是Python有相关模块,所以写一个程序PDF文件下载,顺便熟悉Python的urllib模块和ulrl ...

  5. cookielib和urllib2模块结合模拟网站登录

    1.cookielib模块 cookielib模块的主要作用就是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问internet资源,例如可以利用本模块的cookiejar类的对 ...

  6. 洗礼灵魂,修炼python(54)--爬虫篇—urllib2模块

    urllib2 1.简介 urllib2模块定义的函数和类用来获取URL(主要是HTTP的),他提供一些复杂的接口用于处理: 基本认证,重定向,Cookies等.urllib2和urllib差不多,不 ...

  7. urllib模块和urllib2模块的区别

    一开始我以为urllib2模块单纯是urllib模块的升级版,因为我看到它们都有urlopen方法,但是经过查找资料,发现两者差别还是很大的. 这是我在网上看到的总结: urllib2可以接受一个Re ...

  8. Python的urllib和urllib2模块

    Python的urllib和urllib2模块都做与请求URL相关的操作,但他们提供不同的功能.他们两个最显着的差异如下: urllib2可以接受一个Request对象,并以此可以来设置一个URL的h ...

  9. urllib2模块、cookielib模块

    urllib2模块 urllib模块和urllib模块类似,用来打开URL并从中获取数据.与urllib模块不同的是,urllib模块不仅可以使用urlopen() 函数还可以自定义Opener来访问 ...

  10. urllib2模块中文翻译与学习 - Python 2.7.8官方文档

    总结 目的 打开指定网址 要求 了解需要处理的网站的操作流程 数据包的构造与提交 对可能的响应处理选择合适的处理器(模块内的各种 *Handler()) 核心 urllib.urlencode(que ...

随机推荐

  1. unicode字符等价探究

    Demobaidu.com(\uff41)能跳转到baidu.combаidu.com(\u0430)不能跳转到baidu.com,被认为成一个其他域名 等价原因两个不同编码的Unicode字符之间可 ...

  2. 二、环境安装:yarn

    依赖管理工具安装yarn 可参考前几篇文章 1.必须安装nodejs 注意:安装nodejs稳定版本 2.安装cnpm用cnpm替代npm 地址:http://npm.taobao.org/安装cnp ...

  3. Sklearn K均值聚类

    ## 版权所有,转帖注明出处 章节 SciKit-Learn 加载数据集 SciKit-Learn 数据集基本信息 SciKit-Learn 使用matplotlib可视化数据 SciKit-Lear ...

  4. Bean XML 配置(4)- 自动装配

    Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of ...

  5. lastz

    lastz sequence1.fasta sequence2.fasta 其中,sequence1.fasta是reference genome :sequence2.fasta是需要比对的geno ...

  6. 13 ~ express ~ 后台页面的搭建

    一, 后台路由文件  /router/admin.js  var express = require('express') var router = express.Router() /** * 验证 ...

  7. PHP二维数组--去除指定列含有重复项的数组

    给定二维数组: $arr = array( '0' => array('张三',2,3,4), '1' => array('李四',2,3,4), '2' => array('张三' ...

  8. java课程之团队开发冲刺阶段2.4

    总结昨天进度: 1.照例学习了课前提醒的功能,不可否认的是,在这个功能上,需要的技术和之前的上课静音有点相似,都是通过广播然后开启service服务,然后进行每分钟的监听,查看时间是否一致,在一致的情 ...

  9. x264报错No working C compiler found.

    现象: 缺少C++部署包 解决 [root@localhost x264]# yum -y install gcc gcc-c++ kernel-devel [root@localhost x264] ...

  10. 吴裕雄--天生自然 JAVASCRIPT开发学习:运算符

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...