如何通过HTTP下载文件?

46 浏览
0 Comments

如何通过HTTP下载文件?

我有一个小工具,用于定时从网站上下载MP3文件,然后构建/更新一个我添加到iTunes的播客XML文件。

用于创建/更新XML文件的文本处理是用Python编写的。但是,我在Windows的.bat文件中使用wget来下载实际的MP3文件。我更喜欢整个工具都是用Python编写。

我努力寻找一种用Python实际下载文件的方法,所以我才会采用wget

那么,我该如何使用Python下载文件呢?

0
0 Comments

使用urllib.request.urlopen()

import urllib.request
with urllib.request.urlopen('http://www.example.com/') as f:
    html = f.read().decode('utf-8')

这是使用该库的最基本方式,没有任何错误处理。您还可以执行更复杂的操作,例如更改标头。

在Python 2中,该方法在urllib2中:

import urllib2
response = urllib2.urlopen('http://www.example.com/')
html = response.read()

0
0 Comments

再来一个,使用 urlretrieve:

import urllib.request
urllib.request.urlretrieve("http://www.example.com/songs/mp3.mp3", "mp3.mp3")

(对于 Python 2 使用 import urlliburllib.urlretrieve)

0