Python urllib和urllib2模块学习(三)

  build_opener()详解:

  1.urllib2.urlopen()函数不支持验证、cookie或者其它HTTP高级功能,要支持这些功能,必须使用build_opener()函数创建自定这句话的Opener对象。

  代码如下:

  build_Opener([handler1[handle2,...]])

  参数handler是Handler实例,常用的有HTTPBasicAuthHandler、HTTPCookieProcessor、ProxyHandler等。

  build_opener ()返回的对象具有open()方法,与urlopen()函数的功能相同。

  如果要修改http报头,可以用:

  import urllib2

  opener = urllib2.build_opener()

  opener.addheaders =[(‘User-agent‘,‘Mozilla/5.0‘)]

  opener.open(‘http://www.example.com/‘)

  2.install_opener(opener)

  安装不同的opener对象作为urlopen()使用的全局opener。

  

  3. 密码验证(HTTPBasicAuthHandler)

  HTTPBasicAuthHandler()处理程序可用add_password()来设置密码。

  

  4.cookie处理(HTTPCookieProcessor)

  代码如下:

  import urllib2,cookielib

  cookie = cookielib.CookieJar()

  cookiehand = urllib2.HTTPCookieProcessor(cookie)

  opener = urllib2.build_opener(cookiehand)

  

  5. 代理(ProxyHandler)

  ProxyHandler(proxies)参数proxies是一个字典,将协议名称(http,ftp)等映射到相应代理服务器的URL。

  

  

  

时间: 2024-11-05 18:37:41

Python urllib和urllib2模块学习(三)的相关文章

Python urllib和urllib2模块学习(二)

一.urllib其它函数 前面介绍了 urllib 模块,以及它常用的 urlopen() 和 urlretrieve()函数的使用介绍.当然 urllib 还有一些其它很有用的辅助方法,比如对 url 进行编码.解码等等. 辅助方法: 1. urllib.quote(string[,safe]) : 对字符串进行编码,参数safe指定了不需要编码的字符: urllib.unquote(string):  对字符串进行解码: 2. urllib.urlencode(query[,doseq]):

Python urllib和urllib2模块学习

Python标准库中有许多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib和urllib2 这个 HTTP 客户端库.这里总结了一些 urllib和urlib2 库的使用细节. Python urllib 库提供了一个从指定的 URL 地址获取网页数据,然后对其进行分析处理,获取想要的数据. 一.urllib常用函数介绍: 1. urlopen()函数:即创建一个类文件对象为指定的 url 来读取. 可以使用help(urllib.urlopen)查看函数

[python]-urllib和urllib2模块

转自:http://zeping.blog.51cto.com/6140112/1143722 urllib 和urllib2都是接受URL请求的相关模块,但是提供了不同的功能. urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有. urllib: 网页基础: import urllib #打开51cto cto = urllib.urlopen('http://www.51cto.com') #打开本地文件:cto = urllib.urlopen(url=

python urllib、urllib2模块讲解

1.urllib模块 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google import urllib f = urllib.urlopen('http://www.google.com.hk/') firstLine = f.readline() #读取html页面的第一行 urlopen返回对象提供方法: -         read() , readline() ,re

Python的urllib和urllib2模块

Python的urllib和urllib2模块都做与请求URL相关的操作,但他们提供不同的功能.他们两个最显着的差异如下: urllib2可以接受一个Request对象,并以此可以来设置一个URL的headers,但是urllib只接收一个URL.这意味着,你不能伪装你的用户代理字符串等.urllib模块可以提供进行urlencode的方法,该方法用于GET查询字符串的生成,urllib2的不具有这样的功能.这就是urllib与urllib2经常在一起使用的原因. 常用的方法 urllib2.u

urllib与urllib2的学习总结

先啰嗦一句,我使用的版本是python2.7,没有使用3.X的原因是我觉 得2.7的扩展比较多,且较之前的版本变化不大,使用顺手.3.X简直就是革命性的变化,用的蹩手.3.x的版本urllib与urllib2已经合并为 一个urllib库,学着比较清晰些,2.7的版本呢urllib与urllib2各有各的作用,下面我把自己学习官方文档和其他资料的总结写下,方便以 后使用. urllib与urllib2并不是可以代替的,只能说2是一个补充吧.先来看看他们俩的区别,有一篇文章把urllib与urll

Python:urllib和urllib2的区别(转)

原文链接:http://www.cnblogs.com/yuxc/ 作为一个Python菜鸟,之前一直懵懂于urllib和urllib2,以为2是1的升级版.今天看到老外写的一篇<Python: difference between urllib and urllib2>才明白其中的区别. You might be intrigued by the existence of two separate URL modules in Python -urllib and urllib2. Even

【Python】Python的urllib、urllib2模块调用“百度翻译”API进行批量自动翻译

1.问题描述 在文本数据处理时,经常回出现文本中各种语言的混杂情况,包括:英文.日语.俄语.法语等,需要将不同语种的语言批量翻译成中文进行处理.可以通过Python直接调用百度提供的翻译API进行批量的翻译. 百度翻译API详细文档见:百度翻译API文档 2.问题解决 开发环境:Linux 将文本中的中文和非中文进行分离,对非中文的部分进行翻译. Python的代码如下:translate.py #!/usr/bin/python #-*- coding:utf-8 -*- import sys

Python 中的 urllib2 模块

通过python 的 urllib2 模块,可以轻易的去模拟用户访问网页的行为. 这里将自己的学习过程简单的记录下来. 一.urlopen函数 urlopen(url, data=None) -- Basic usage is the same as original    urllib.  pass the url and optionally data to post to an HTTP URL, and    get a file-like object back.  One diffe