質問

httpから出力されるmp3ストリームをキャプチャし、Pythonでディスクに保存する最良の方法は何ですか?

今まで試した

target = open(target_path, "w")
conn = urllib.urlopen(stream_url)
while True:
    target.write(conn.read(buf_size))

これはデータを提供しますが、mp3プレーヤーで文字化けしたり再生されたりしません。

役に立ちましたか?

解決

Windowsを使用している場合、誤ってCRLF変換を実行して、バイナリデータを破損している可能性があります。 target をバイナリモードで開いてみてください:

target = open(target_path, "wb")

他のヒント

これに対する最善の方法は次のとおりです。

urllib.urlretrieve(stream_url, target_path);

おそらく以前のurllibの回答から構文が変更されたので(正しい答えが得られました)、この構文はpython3で機能します:

import urllib.request

urllib.request.urlretrieve(stream_url, target_path)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top