当前位置:   article > 正文

Python:如何显示实时爬取速度和进度条?_python 复制文件显示进度条和速度

python 复制文件显示进度条和速度

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/130295?site
推荐阅读
相关标签
  

闽ICP备14008679号