Pythonはその強力なライブラリと簡潔な文法により、さまざまなタスクを簡単に実行できる人気のあるプログラミング言語です。その一つが、大きなファイルのダウンロードです。この記事では、Pythonを使用して大きなファイルをダウンロードする方法について説明します。
requestsライブラリを使用した方法
Pythonのrequests
ライブラリは、HTTPリクエストを送信するための強力なツールです。大きなファイルをダウンロードするためには、requests.get
関数のstream=True
パラメータを使用します。
以下に、requests
ライブラリを使用して大きなファイルをダウンロードするための基本的なコードスニペットを示します。
import requests
def download_file(url):
local_filename = url.split('/')[-1]
with requests.get(url, stream=True) as r:
r.raise_for_status()
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=8192):
if chunk:
f.write(chunk)
return local_filename
このコードは、指定されたURLからファイルをダウンロードし、その内容をローカルのファイルに書き込みます。stream=True
パラメータは、レスポンスボディを直接ストリームとして受け取ることを可能にします。これにより、ダウンロードしたファイルの全内容をメモリに保持する必要がなくなり、大きなファイルでも効率的に処理できます。
まとめ
Pythonを使用して大きなファイルをダウンロードする方法はいくつかありますが、requests
ライブラリを使用する方法はその一つです。この記事で紹介したコードスニペットを使用すれば、簡単に大きなファイルをダウンロードできます。ただし、この方法は大きなファイルをダウンロードする際にメモリを効率的に使用するためのものであり、ダウンロード速度を向上させるものではありません。ダウンロード速度を向上させるには、他の方法(例えば、マルチスレッドダウンロード)を検討する必要があります。