模塊
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()
感覺還行的話,幫忙點個贊吧