通过 Python 使用 urllib 下载的 MP3 文件无法播放,在浏览器中工作正常
MP3 file downloaded through Python with urllib is unplayable, works fine in browser
这是一个 link 的 MP3 文件:http://translate.google.com/translate_tts?tl=fr&q=je/,它下载得很好。但是当我尝试使用以下代码下载它时,我得到一个 Windows Media Player 和 VLC 拒绝播放的文件。这是我的代码(我测试了两种方法):
import urllib
query = "http://translate.google.com/translate_tts?tl=fr&q=je/"
urllib.urlretrieve(query, "je.mp3")
mp3file = urllib.urlopen(query)
output = open('je2.mp3','wb')
output.write(mp3file.read())
output.close()
mp3file.close()
两个文件都无法播放。我感觉这与我正在使用的文件有关,因为 other ones 似乎工作正常(可能与查询字符串有关)。有什么帮助吗?我是 运行 Python 2.7 Windows 8
您的问题已经有人问过 here。
简而言之,除非您修改程序发送的headers,否则该页面不会让您下载任何声音文件,因此看起来该程序实际上是一个浏览器。
这是一个 link 的 MP3 文件:http://translate.google.com/translate_tts?tl=fr&q=je/,它下载得很好。但是当我尝试使用以下代码下载它时,我得到一个 Windows Media Player 和 VLC 拒绝播放的文件。这是我的代码(我测试了两种方法):
import urllib
query = "http://translate.google.com/translate_tts?tl=fr&q=je/"
urllib.urlretrieve(query, "je.mp3")
mp3file = urllib.urlopen(query)
output = open('je2.mp3','wb')
output.write(mp3file.read())
output.close()
mp3file.close()
两个文件都无法播放。我感觉这与我正在使用的文件有关,因为 other ones 似乎工作正常(可能与查询字符串有关)。有什么帮助吗?我是 运行 Python 2.7 Windows 8
您的问题已经有人问过 here。
简而言之,除非您修改程序发送的headers,否则该页面不会让您下载任何声音文件,因此看起来该程序实际上是一个浏览器。