tqdm 进度条

import requests  
from tqdm import tqdm
import os  
session = requests.Session()  

# 视频路径(此次下载文件大小与本地文件大小一样)
file_url = "https://f.video.weibocdn.com/00497ZGZgx07LFXmitba0104120hHWg30E070.mp4?label=mp4_720p&template=1280x720.25.0&trans_finger=775cb0ab963a74099cf9f840cd1987f1&media_id=4623023358279700&tp=8x8A3El:YTkl0eM8&us=0&ori=1&bf=3&ot=h&lp=yODMkOxvUyYIS9MUSBJLo&ps=mZ6WB&uid=8zomq6&ab=11243-g2,1493-g0,1192-g0,1191-g0,1258-g0&Expires=1697877799&ssig=zsyly7p%2ByW&KID=unistore,video"

# stream=True 参数表示启用流式传输,使得响应内容不会一次性加载到内存中,
# 而是随着数据的接收逐步返回,这对于处理大文件或需要实时处理的情况非常有用。
response = session.get(file_url, stream=True) 

# 获取已下载文件大小(本地文件)
total_size = os.path.getsize('kevin.mp4')
print(total_size)

# 获取进度条
progress_bar = tqdm(total= total_size, unit='B', unit_scale=True)

# 进度条重置
progress_bar.reset()

data = 0
# 这里可以使用 response 对象来处理获取到的数据  
# 例如,将数据写入文件  
with open('kevin2.mp4', 'wb') as f:  
    for chunk in response.iter_content(chunk_size=1024):  
        if chunk:  
            f.write(chunk)
            
            data += len(chunk)
            # 进度条更新
            progress_bar.update(len(chunk))

# 为了验证下载文件大小是否一样
print(data == total_size)

# 进度关闭
progress_bar.close()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值