【python 】文件下載進度條(裝逼利器)


  • 基礎版
import requests
url = "http://mp.111ttt.cn/mp3free/81135985.mp3"

rsp = requests.get(url, stream=True)
with open('1.mp3', 'wb') as f:
    for i in rsp.iter_content(chunk_size=1024):  # 邊下載邊存硬盤, chunk_size 可以自由調整為可以更好地適合您的用例的數字
        f.write(i)

 

  • 晉級版
# 下載MP3文件到本地
import os
import requests

def DownloadFile(mp3_url, save_url,file_name):
    try:
        if mp3_url is None or save_url is None or file_name is None:
            print('參數錯誤')
            return None
        # 文件夾不存在,則創建文件夾
        folder = os.path.exists(save_url)
        if not folder:
            os.makedirs(save_url)
        # 讀取MP3資源
        res = requests.get(mp3_url,stream=True)
        # 獲取文件地址
        file_path = os.path.join(save_url, file_name)
        print('開始寫入文件:', file_path)
        # 打開本地文件夾路徑file_path,以二進制流方式寫入,保存到本地
        with open(file_path, 'wb') as fd:
            for chunk in res.iter_content(chunk_size=1024):
                fd.write(chunk)
        print(file_name+' 成功下載!')
    except:
        print("程序錯誤")
if __name__ == "__main__":
    # MP3源地址url
    url = 'http://mp.111ttt.cn/mp3free/81135985.mp3'
    # MP3保存文件夾
    save_url='./music/'
    # MP3文件名
    file_name = 'mymusic'+'.mp3'
    DownloadFile(url,save_url, file_name)
  • 升級版
def DownloadFile2(mp3_url, save_url,file_name):
    try:
        if mp3_url is None or save_url is None or file_name is None:
            print('參數錯誤')
            return None
        # 文件夾不存在,則創建文件夾
        folder = os.path.exists(save_url)
        if not folder:
            os.makedirs(save_url)
        # 讀取MP3資源
        res = requests.get(mp3_url,stream=True) 
        total_size = int(int(res.headers["Content-Length"])/1024+0.5)
        # 獲取文件地址
        file_path = os.path.join(save_url, file_name)
        
        # 打開本地文件夾路徑file_path,以二進制流方式寫入,保存到本地
        from tqdm import tqdm
        with open(file_path, 'wb') as fd:
            print('開始下載文件:{},當前文件大小:{}KB'.format(file_name,total_size))
            for chunk in tqdm(iterable=res.iter_content(1024),total=total_size,unit='k',desc=None):
                fd.write(chunk)
            print(file_name+' 下載完成!')
    except:
        print("程序錯誤") 

 

# MP3源地址url
mp3_url = 'http://mp.111ttt.cn/mp3free/81135985.mp3'
# MP3保存文件夾
save_url='./music/'
# MP3文件名
file_name = '少年-夢然.mp3'
DownloadFile2(mp3_url,save_url, file_name)

 

  • 裝逼版
for file_name,mp3_url in zip(musicnamelst[:2],musicurllst[:2]):
    DownloadFile2(mp3_url,save_url, file_name+'.mp3')

 如果要全量下載,去掉索引

for file_name,mp3_url in zip(musicnamelst,musicurllst):
    DownloadFile2(mp3_url,save_url, file_name+'.mp3')

太多了,部分截圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM