您的位置:首页 > 编程语言 > Python开发

python的urllib

2015-12-24 19:05 453 查看
urllib下载网页相关,对下载下的网页进行处理。

urllib的常用函数

1、urlopen

import urllib
f = urllib.urlopen('http://www.baidu.com')
a = f.readline()
print a


输出结果为:

urlopen返回对象提供的方法(用openurl打开一个网址,赋值给一个对象,下面就可以对这个对象进行操作了)

readline 读取第一行

readlines 读取所有行

info 返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息

getcode 返回HTTP请求的状态码,200或者304或者其他

geturl返回请求的url

2、urlretrieve

import urllib
f = urllib.urlretrieve('http://www.baidu.com')
type(f)
print f[1]
print f[0]


urlretrieve将html文件下载到本地,返回一个二元组,二元组的第一个字段表示下载的路径+文件;第二个字段表示 远程服务器返回的头信息。

3、urlcleanup

清除由于urlretrieve产生的缓存

4、quote和quote_plus

将url数据获取之后,并将其编码,从而适用与URL字符串中,使其能被打印和被web服务器接受。

import urllib
f = urllib.quote('http://www.baidu.com')
print f
f = urllib.quote_plus('http://www.baidu.com')
print f
运行结果为:

http%3A//www.baidu.com

http%3A%2F%2Fwww.baidu.com

5、unquote和unquote_plus

和quote、quote_plus的作用相反

6、urlencode

将URL中的键值对以连接符&划分

import urllib
f = urllib.urlencode({'spam':1,'egg':2})
print f
url = urllib.urlopen('http://www.baidu.com/query/%s' %f)
f = url.geturl();
print f
运行结果为:

egg=2&spam=1
http://www.baidu.com/search/error.html
意思是说,urlencode可以把字符串用&拼接起来,这样就可以作为参数,传给url,发送get或者post请求。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: