質問
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)
所属していません StackOverflow