一、获取文件大小
import requests
# mp4文件链接
url = 'https://vd4.bdstatic.com/mda-mgsjfvpjjte5hpqk/sc/cae_h264_clips/1627394487294196654/mda-mgsjfvpjjte5hpqk.mp4'
r = requests.get(url,stream=True)#stream:如果`False`,将立即下载响应内容。
size = r.headers.get('Content-Length')#返回内容有多少字节
print(size)
二、每次接受指定大小的消息
import requests
# mp4文件链接
url = 'https://vd4.bdstatic.com/mda-mgsjfvpjjte5hpqk/sc/cae_h264_clips/1627394487294196654/mda-mgsjfvpjjte5hpqk.mp4'
r = requests.get(url,stream=True)#stream:如果`False`,将立即下载响应内容。
size = r.headers.get('Content-Length')#返回内容有多少字节
print(size)
file = open('1.mp4','wb')
for i in r.iter_content(chunk_size=1024):#将所有的字节以 1024字节 分开,每次循环下载1kb(1024字节)
file.write(i)
print('循环结束,下载完成')
三、完善下载显示信息
1.显示下载内容百分比
import requests
# mp4文件链接
url = 'https://vd4.bdstatic.com/mda-mgsjfvpjjte5hpqk/sc/cae_h264_clips/1627394487294196654/mda-mgsjfvpjjte5hpqk.mp4'
r = requests.get(url,stream=True)#stream:如果`False`,将立即下载响应内容。
size = r.headers.get('Content-Length')#返回内容有多少字节
print(size)
file = open('1.mp4','wb')
j = 1#
for i in r.iter_content(chunk_size=1024):#将所有的字节以 1024字节 分开,每次循环下载1kb(1024字节)
file.write(i)
print(j*1024,'/',size)#下载百分比格式
j += 1
print('循环结束,下载完成')
2.设置以MB为单位显示
1MB = 1*1024KB = 1*1024*1024 B(字节)
import requests
# mp4文件链接
url = 'https://vd4.bdstatic.com/mda-mgsjfvpjjte5hpqk/sc/cae_h264_clips/1627394487294196654/mda-mgsjfvpjjte5hpqk.mp4'
r = requests.get(url,stream=True)#stream:如果`False`,将立即下载响应内容。
size = r.headers.get('Content-Length')#返回内容有多少字节
print(size)
file = open('1.mp4','wb')
j = 1#
b = round(int(size)/(1024*1024),3)#总文件大小 字节转成MB单位,并保留3位小数
for i in r.iter_content(chunk_size=1024):#将所有的字节以 1024字节 分开,每次循环下载1kb(1024字节)
file.write(i)
a = round(j*1024/(1024*1024),3)#已下载文件大小 字节转成MB单位,并保留3位小数
print(a,'/',b,'MB')#下载百分比格式
j += 1
print('=========下载完成=========')
3.设置在同一行自动更改百分比
import requests
# mp4文件链接
url = 'https://vd4.bdstatic.com/mda-mgsjfvpjjte5hpqk/sc/cae_h264_clips/1627394487294196654/mda-mgsjfvpjjte5hpqk.mp4'
r = requests.get(url,stream=True)#stream:如果`False`,将立即下载响应内容。
size = r.headers.get('Content-Length')#返回内容有多少字节
print(size)
file = open('1.mp4','wb')
j = 1#
b = round(int(size)/(1024*1024),3)#总文件大小 字节转成MB单位,并保留3位小数
for i in r.iter_content(chunk_size=1024):#将所有的字节以 1024字节 分开,每次循环下载1kb(1024字节)
file.write(i)
print('\b'*20,end='')
a = round(j*1024/(1024*1024),3)#已下载文件大小 字节转成MB单位,并保留3位小数
print(a,'/',b,'MB',end='')#下载百分比格式
j += 1
print('=========下载完成=========')