我有一个用于下载所有Chrome书签的脚本。我使用带有--html-extension的wget,因为有些书签以.php结尾,除非使用了--html-extension选项,否则无法通过Web浏览器打开。我遇到的问题是当我使用--html-extension和--no-clobber时,它不会认识到大多数文件已经出于某种原因存在,所以它经历了重新加载它的整个过程已经有了。
一个例子: wget -nc http://www.test.com/ 运行一次将保存文件,就像它应该的那样。如果你再次运行它然后它会说文件已经存在,所以不检索。这是我期望的操作。
但是,删除刚刚保存并运行的文件: wget -nc http://www.test.com/ --html-extension 然后再次运行相同的命令。它会覆盖文件而不是说已存在的文件。发生了什么事?
答案 0 :(得分:2)
当添加html后缀时,wget无法告诉你要将它与哪个远程文件进行比较。
man wget:http://unixhelp.ed.ac.uk/CGI/man-cgi?wget
======================
- HTML的扩展
如果下载了application / xhtml + xml或text / html类型的文件 并且URL不以正则表达式结束。[Hh] [Tt] [Mm] [Ll] ?,这个 选项将导致后缀.html被附加到本地 文件名。例如,当您镜像时,这很有用 使用.asp页面的远程站点,但您需要镜像页面 在您的库存Apache服务器上可以查看。另一个很好的用途 这是当你下载CGI生成的材料时。一个URL 像http://site.com/article.cgi?25一样将保存为arti- cle.cgi?25.html。
请注意,每次都会重新下载以这种方式更改的文件名 你重新镜像一个网站的时间,因为Wget无法分辨出本地 X.html文件对应于远程URL X(因为它还不知道 URL生成text / html或application / xhtml + xml类型的输出。要防止重新下载,必须使用-k 和-K,以便将文件的原始版本保存为 X.orig。