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



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

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

但是我怎么能告诉 wget 只下载新文件呢?在命令行中,我做到了

wget -N url

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

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

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

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

这是代码。

import subprocess
url = ''
subprocess.Popen(['wget', '-N', url])

最新更新