Python:如何显示实时爬取速度和进度条?

    当爬取一些视频或者大文件的时候,不知道需要等多久才能爬取完成,这时候就需要一个进度条和速度来告诉我们已经爬取多少了。这次主要通过python的requests库来实现这个小功能。示例链接:

        "https://dldir1.qq.com/qqtv/TencentVideo10.14.3360.0.exe"

import requests#引入requests库
import time#引入time,计算下载时间
start = time.time()
size = 0
path = "C:/Users/23504/Desktop/Test.exe"#路径
url = "https://dldir1.qq.com/qqtv/TencentVideo10.14.3360.0.exe"
response = requests.get(url,stream = True)#stream参数设置成True时,它不会立即开始下载,当你使用iter_content或iter_lines遍历内容或访问内容属性时才开始下载
chunk_size = 1024#每次块大小为1024
content_size = int(response.headers['content-length'])#返回的response的headers中获取文件大小信息
print("文件大小:"+str(round(float(content_size/chunk_size/1024),4))+"[MB]")
with open(path,'wb') as file:
    for data in response.iter_content(chunk_size=chunk_size):#每次只获取一个chunk_size大小
        file.write(data)#每次只写入data大小
        size = len(data)+size
        #'r'每次重新从开始输出,end = ""是不换行
        print('\r'+"已经下载:"+int(size/content_size*100)*"█"+" 【"+str(round(size/chunk_size/1024,2))+"MB】"+"【"+str(round(float(size/content_size)*100,2))+"%"+"】",end="")
end = time.time()
print("总耗时:"+str(end-start)+"秒")

以上就是简单实现显示下载进度和速度以及耗时的功能

  • 14
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值