python超好用爬虫下载进度条模块


模块

 1 import os
 2 import requests
 3 import time
 4  
 5  
 6 # 进度条模块
 7 def progressbar(url, path):
 8     if not os.path.exists(path):   # 看是否有该文件夹,没有则创建文件夹
 9         os.mkdir(path)
10     start = time.time()  # 下载开始时间
11     response = requests.get(url, stream=True)
12     size = 0    # 初始化已下载大小
13     chunk_size = 1024  # 每次下载的数据大小
14     content_size = int(response.headers['content-length'])  # 下载文件总大小
15     try:
16         if response.status_code == 200:   # 判断是否响应成功
17             # 开始下载,显示下载文件大小
18             print('Start download,[File size]:{size:.2f} MB'.format(size=content_size / chunk_size / 1024))
19             filepath = path+'\Pikachu.jpg'  # 设置图片name,注:必须加上扩展名
20             with open(filepath, 'wb') as file:   # 显示进度条
21                 for data in response.iter_content(chunk_size=chunk_size):
22                     file.write(data)
23                     size += len(data)
24                     print('\r'+'[下载进度]:%s%.2f%%' % ('>'*int(size*50 / content_size),
25                                                     float(size / content_size * 100)), end=' ')
26         end = time.time()   # 下载结束时间
27         print('Download completed!,times: %.2f秒' % (end - start))  # 输出下载用时时间
28     except:
29         print('Error!')

调用

# 导包路径非固定的,取决于你的代码文件路径common是我的文件夹名progress是我的文件名
from common.progress import *
 
 
def main():
    # 下载图片
    url = 'https://dss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3386247472,87720242&fm=26&gp=0.jpg'
    path = r'E:\123'  # 设置下载到本地的地址
    progressbar(url, path)
 
 
if __name__ == '__main__':
    main()

 感觉还行的话,帮忙点个赞吧


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM