2017-04-07 53 views
1

我正在尝试使用python包来下载新文件。我所能做的就是下载像只能在python下载新文件(wget -N)

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

但我怎么才能告诉wget只下载新文件? 在命令行中我

wget -N url 

只下载新的文件做了。 Python包wget似乎没有任何与-N标志相同的东西? 有没有人知道是否有办法做到这一点与Python的wget或有另一个python包可以做到这一点?

+0

您是否在使用Window? – John

回答

1

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

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

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

这是代码。

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