在Python中使用wget

32 投票
6 回答
99604 浏览
提问于 2025-04-15 20:33

我想用Python和wget下载视频文件,并把它们保存在本地。因为会有很多文件,我怎么知道一个文件下载完了,才能自动开始下载下一个呢?

谢谢。

6 个回答

15

如果你使用 os.system() 来启动一个 wget 进程,它会一直等到 wget 下载完成(或者出现错误退出)才会继续执行。所以,你可以在一个循环里反复调用 os.system('wget blah'),直到你下载完所有文件。

另外,你也可以使用 urllib2httplib。这样你需要写一些比较复杂的代码,但性能会更好,因为你可以重用一个 HTTP 连接来下载多个文件,而不是每个文件都打开一个新的连接。

21

别这样做。应该使用urllib2或者urlgrabber

22

简单来说,想要得到一个文件

 import urllib.request
 urllib.request.urlretrieve("http://google.com/index.html", filename="local/index.html")

如果需要的话,你可以想办法让它循环执行。

撰写回答