from urllib import request
request.urlopen()
常用参数:
url
data:如果有变成post方法,数据格式必须是application/x-www-from-unlencoded
返回类文件句柄
类文件句柄常用方法
read(size):size=-1/none //读取
readeline() //读取一行
readelines() //读取多行
close() //关闭
getcode() //获取请求状态
HTTPMessage方法
文件句柄.info() 返回 httplib.HTTPMessage实例
dir() 是一个内置函数,用于列出对象的所有属性及方法
items()
keys()
values()
request.urlretrieve()
利用urlretrieve() 将数据下载到本地。
常用参数:
url
finename 指定保存本地路劲
reporthook 回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,显示下载进度
data 指post到服务器的数据,该方法返回一个包含两个元素(filename,headers)的元组
import sys,io
from urllib import request
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码
def progress(blk, blk_size, total_size):
print('%d/%d - %.02f%%' % (blk * blk_size, total_size, (float)(blk * blk_size) * 100 / total_size))
def retrieve():
request.urlretrieve("http://blog.kamidox.com","index.html",reporthook=progress)
if __name__ =="__main__":
retrieve()