我有一个小工具,用来按计划从一个网站下载MP3,然后建立/更新一个播客XML文件,显然我已经把它添加到iTunes。
创建/更新XML文件的文本处理是用Python写的。然而,我使用Windows.bat
文件中的wget来下载实际的MP3。但我更希望整个工具是用Python编写的。
但我很难找到一种在Python中实际下载文件的方法,因此我求助于`wget'。
那么,我如何用Python下载文件呢?
import urllib2
mp3file = urllib2.urlopen("http://www.example.com/songs/mp3.mp3")
with open('test.mp3','wb') as output:
output.write(mp3file.read())
open('test.mp3','wb')
中的wb
以二进制模式打开一个文件(并删除任何现有的文件),因此你可以用它来保存数据,而不仅仅是文本。
我同意Corey的观点,urllib2比urllib更完整,如果你想做更复杂的事情,很可能应该使用这个模块,但为了使答案更完整,如果你只想做基本的事情,urllib是一个更简单的模块。
import urllib
response = urllib.urlopen('http://www.example.com/sound.mp3')
mp3 = response.read()
会很好用。或者,如果你不想处理"响应"对象,你可以直接调用read()。
import urllib
mp3 = urllib.urlopen('http://www.example.com/sound.mp3').read()