只在python中下载新文件(wget -N)

时间:2017-04-07 15:52:05

标签: python wget

我正在尝试使用python包下载新文件。我所能做的就是下载

outdir = ""
url = ""
filename = wget.download(url, out=outdir)

但是如何告诉wget只下载新文件? 在命令行中我用

做了
wget -N url

仅下载新文件。 python包wget似乎没有任何等效的-N标志? 有没有人知道是否有办法用wget for python做这个或者是否有另外一个python包可以做到这一点?

1 个答案:

答案 0 :(得分:1)

如果这是您正在讨论的wget库,那么它构建在urllib之上,而不是wget的包装器。所以你有几个选择。

  • 如果你想在这个库中使用-N功能,你必须自己实现它。 Herewget确定什么是新文件的方式。有3种不同的技术可用于实现此目的。它查找尚不存在的文件名。对于HTTP,它会查找Last-Modified标头。对于FTP,它使用LIST命令然后尝试解析输出,就好像输出与ls -l命令的输出相同。

  • 如果在路径中具有wget可执行文件的系统上运行此脚本,则可以使用子进程。

这是代码。

import subprocess
url = ''
subprocess.Popen(['wget', '-N', url])
相关问题