urlrrtrieve()实例_下载微博短视频

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)

猜你喜欢

转载自www.cnblogs.com/doitjust/p/9275884.html