import urllib
- urllib.openurl([ url ], data, proxies)
data:表示以post方式提交到url的数据
proxies:设置代理
返回类文件对象,可用方法
read()
readline()
readlines()
fileno()
close()
info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
getcode():返回HTTP状态码
geturl():返回请求的url
- urllib.urlretrieve([ url ], filename, reporthook, data)
直接将远程数据下载到本地
filename:指定保存到本地的路径,如果未指定,则生成一个临时文件保存数据
reporthook:回调函数,当连接上服务器,以及相应的数据块传输完毕的时候,会触发,可用于显示当前下载进度
data:post到服务器的数据
返回包含两个元素的元组:
filename保存到本地的路径
header服务器响应头
例:
a:已下载数据块
b:数据块大小
c:远程文件大小
def cbk(a, b, c):
per = 100.0 * a * b / c
if per > 100:
per = 100
print '%.2f%%'%per
url = "http://www.sina.com.cn"
local = "d://sina.html"
urllib.urlretrieve(url, local, cbk)
- urllib.quote([ string ], safe)
对字符串进行编码,用“%20”来替换
safe指定不需要编码的字符
- urllib.unquote([ string ])
对字符串进行解码
- urllib.quote_plus( [ string ], safe)
与quote类似,用“+”来替换
- urllib.unquote_plus([ string ])
对字符串进行解码
- urllib.urlencode([ query ], doseq)
将dict或包含两个元素的元组列表转换成url参数
例如:
字典{'name' : 'dark-bull', 'age' : 20}
转为 "name=dark-bull&age=20"
- urllib.pathname2url([ path ])
将本地路径转换成为url路径
- urllib.url2pathname([ path ])
将url路径转换成为本地路径
网友评论