在python中下载.mp3文件

时间:2013-12-29 00:41:11

标签: python mp3 downloading

我正在尝试下载.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())

是否有人可以告诉我我做错了什么以及如何解决这个问题? 感谢。

1 个答案:

答案 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。这种变化会扰乱数据流。 “