1.确定目标
在微博页面找一想要下载的短视频,通过审查元素找到视频的url。
如://f.us.sinaimg.cn/00150tBNlx07l0qjoSJi01040201m7z90k010.mp4?label=mp4_720p&template=1732x720.28&Expires=1528730862&ssig=neSy89Zjvy&KID=unistore,video
将url 前面加上http:
2.使用工具
urlrrtrieve()是将远程文件下载到本地磁盘中
第三个参数reporthook 函数report显示进入,report的三个参数分别为:已经下载的数据块,数据块的大小,远程文件的大小。据此三参数,我们可以计算下载的进度。
3.代码实现:
1 from urllib import request 2 3 # 视频地址 4 base_url = 'http://f.us.sinaimg.cn/00150tBNlx07l0qjoSJi01040201m7z90k010.mp4?label=mp4_720p&template=1732x720.28&Expires=1528730862&ssig=neSy89Zjvy&KID=unistore,video' 5 6 # 下载进度 7 def report(a,b,c): 8 ''' 9 :param a: 已经下载的数据块 10 :param b: 数据块的大小 11 :param c: 远程文件的大小 12 :return: 下载百分比 13 ''' 14 # 下在进度 百分比 15 per = 100.0 * a * b / c 16 if per > 100: 17 per = 100 18 print('%.2f%%'%per) 19 20 21 request.urlretrieve(base_url,'weibo/1.mp4',reporthook=report)