Python urllib urlretrieve函数解析
2018-02-18 19:05
477 查看
Python urllib urlretrieve函数解析
利用urllib.request.urlretrieve函数下载文件
觉得有用的话,欢迎一起讨论相互学习~Follow Me
参考文献Urlretrieve函数解析
urllib.request.urlretrieve函数解析
urlretrieve(url, filename=None, reporthook=None, data=None)参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。
下面通过例子来演示一下这个方法的使用,这个例子将一张图片抓取到本地,保存在此文件夹中,同时显示下载的进度。
from six.moves import urllib def Schedule(a, b, c): """ a:已经下载的数据块 b:数据块的大小 c:远程文件的大小 """ per = 100.0*float(a*b)/float(c) if per > 100: per = 100 print("a", a) print("b", b) print("c", c) print('{:.2f}%'.format(per)) url = 'https://avatars1.githubusercontent.com/u/14261323?s=400&u=150449ce27748c3b23b5175f8c8342c918ae6aa8&v=4' local = 'mylogo.png' filename, _ = urllib.request.urlretrieve(url, local, Schedule) # ('mylogo.png', <http.client.HTTPMessage object at 0x000001FD6491D6D8>) print(filename) # mylogo.png # a 0 # b 8192 # c 38225 # 0.00% # a 1 # b 8192 # c 38225 # 21.43% # a 2 # b 8192 # c 38225 # 42.86% # a 3 # b 8192 # c 38225 # 64.29% # a 4 # b 8192 # c 38225 # 85.72% # a 5 # b 8192 # c 38225 # 100.00%
相关文章推荐
- Python:urllib2使用总结
- 零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
- Python2和Python3中urllib库中urlencode的使用注意事项
- [python][urllib] 下载网页上的图片
- Python 标准库 —— urllib
- Python urllib2模块post/get 下载网络资源
- Python标准库之urllib,urllib2自定义Opener
- 数据爬虫(二):python爬虫中urllib库详解,parse和request使用方法
- python中urllib, urllib2,urllib3, httplib,httplib2, request的区别
- Python-urllib的API
- windows和linux下使用python2.7 urllib.urlopen+beautifulsoup打开12306网站订票页面表现不同,前者报错ssl认证失败,后者成功
- python3.6之urllib模块代理实现
- [Python]网络爬虫(二):利用urllib2通过指定的URL抓取网页内容
- python urllib爬取网页编码问题
- Python3 模块2之 Urllib之 urllib.error
- Python 标准库 urllib2 的使用细节
- python写爬虫技巧(四):urllib2技巧与抓站技巧
- Python3 21.6. urllib.request 常用方法中文翻译(自翻)
- [Python]网络爬虫(二):利用urllib2通过指定的URL抓取网页内容
- python基于http协议编程:httplib,urllib和urllib2