溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3中requests文件下載的示例分析

發(fā)布時間:2021-09-03 13:54:38 來源:億速云 閱讀:164 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹Python3中requests文件下載的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

示例:

"""使用模塊線程方式實現(xiàn)網(wǎng)絡資源的下載
# 實現(xiàn)文件下載, 期間顯示文件信息&下載進度
# 控制臺運行以顯示進度
"""
import requests
import os.path as op
import os
from sys import stdout


def downloadfile(url, filename):
  """下載文件并顯示過程
  :param url: 資源地址
  :param filename: 保存的名字, 保存在當前目錄
  """
  # print(url)
  filename = filename + '.' + op.splitext(url)[-1]
  file_to_save = op.join(os.getcwd(), filename)
  # print(file_to_save)

  with open(file_to_save, "wb") as fw:
    with requests.get(url, stream=True) as r:
      # 此時只有響應頭被下載
      # print(r.headers)
      print("下載文件基本信息:")
      print('-' * 30)
      print("文件名稱:", filename)
      print("文件類型:", r.headers["Content-Type"])
      filesize = r.headers["Content-Length"]
      print("文件大小:", filesize, "bytes")
      print("下載地址:", url)
      print("保存路徑:", file_to_save)
      print('-' * 30)
      print("開始下載")

      chunk_size = 128
      times = int(filesize) // chunk_size
      show = 1 / times
      show2 = 1 / times
      start = 1
      for chunk in r.iter_content(chunk_size):
        fw.write(chunk)
        if start <= times:
          stdout.write(f"下載進度: {show:.2%}\r")
          start += 1
          show += show2
        else:
          stdout.write("下載進度: 100%")
      print("\n結(jié)束下載")


if __name__ == "__main__":
  downloadfile("https://code.jquery.com/jquery-3.4.1.js", "a")

以上是“Python3中requests文件下載的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI