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