我正在尝试下载.mp3文件,但是,当我下载它时,它会被下载但听起来像sqeaks和其他奇怪的声音通过我的扬声器(类似于你的.mp3文件在编码中有错误)。
这是我目前的代码:
# sets the song url to mp3link variable.
mp3link = dLink[0]
# opens the .mp3 file - using the same procedure as above.
openmp3 = open('testing.mp3', 'w')
dl = urllib2.urlopen(mp3link)
dl2 = dl.read()
# writes the .mp3 file to the file 'testing.mp3' which is in the variable openmp3.
openmp3.write(dl2)
openmp3.close()
print 'done'
我知道我可以将此代码用作更快的方法:
dlmp3 = urllib2.urlopen(url)
with open('testing2.mp3', 'wb') as filee:
filee.write(dlmp3.read())
是否有人可以告诉我我做错了什么以及如何解决这个问题? 感谢。
答案 0 :(得分:2)
我在Downloading Mp3 using Python in Windows mangles the song however in Linux it doesn't
找到了修复程序“尝试二进制文件模式.open(mp3Name,”wb“)您可能正在获得行结尾翻译。
该文件是二进制文件,是的。这是没有的模式。打开文件时,可以将其设置为读取为文本文件(这是默认设置)。当它这样做时,它将转换行结尾以匹配平台。在Windows上,行结尾是\ r \ n在大多数其他地方,它是\ r或\ n。这种变化会扰乱数据流。 “