如何使用Python通过HTTP下载文件?
我有一个小工具,用来按计划从一个网站下载MP3,然后建立/更新一个播客XML文件,显然我已经把它添加到iTunes。
创建/更新XML文件的文本处理是用Python写的。然而,我使用Windows.bat
文件中的wget来下载实际的MP3。但我更希望整个工具是用Python编写的。
但我很难找到一种在Python中实际下载文件的方法,因此我求助于`wget'。
那么,我如何用Python下载文件呢?
808
3
在Python 2中,使用标准库附带的urllib2。
这是使用该库的最基本方式,不包括任何错误处理。 你也可以做更复杂的事情,比如改变头文件。 文档可以在这里找到。
open('test.mp3','wb')
中的wb
以二进制模式打开一个文件(并删除任何现有的文件),因此你可以用它来保存数据,而不仅仅是文本。我同意Corey的观点,urllib2比urllib更完整,如果你想做更复杂的事情,很可能应该使用这个模块,但为了使答案更完整,如果你只想做基本的事情,urllib是一个更简单的模块。
会很好用。或者,如果你不想处理"响应"对象,你可以直接调用read()。