ホームページ >バックエンド開発 >Python チュートリアル >Python で HTTP 経由でファイルをダウンロードするにはどうすればよいですか?

Python で HTTP 経由でファイルをダウンロードするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-26 03:42:10848ブラウズ

How Can I Download Files via HTTP in Python?

Python を使用して HTTP 経由でファイルをダウンロードする

シナリオ: Web サイトから MP3 ファイルをダウンロードする Python ユーティリティがあります。ポッドキャスト XML ファイルを更新します。現在、MP3 ダウンロードは Windows .bat ファイルの wget によって処理されますが、完全に Python ベースのソリューションを求めています。

解決策:

Python は、 Python エコシステム内で HTTP 経由でファイルをダウンロードします。一般的なアプローチの 1 つは、urllib.request モジュールを使用することです。次のスニペットは、urllib.request.urlretrieve() を使用してファイルをダウンロードする方法を示しています。

import urllib.request

url = "http://www.example.com/songs/mp3.mp3"
filename = "mp3.mp3"

urllib.request.urlretrieve(url, filename)

このコードは、指定された URL からファイルを取得し、指定されたファイル名に保存します。 Python 2 の場合は、import urllib と urllib.urlretrieve を使用することに注意してください。

代わりに、よりユーザー フレンドリーな API を提供する request ライブラリを使用することもできます。以下に例を示します。

import requests

url = "http://www.example.com/songs/mp3.mp3"
response = requests.get(url)
response.raise_for_status()

with open("mp3.mp3", "wb") as f:
    f.write(response.content)

このコードは、URL に対して GET リクエストを実行し、ファイルのコンテンツを取得します。次に、バイナリ モードで指定されたファイル名にコンテンツを書き込みます。

以上がPython で HTTP 経由でファイルをダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。