我有一个用于下载所有 Chrome 书签的脚本。我将 wget 与 --html-extension 一起使用,因为某些书签以 .php 结尾,除非使用 --html-extension 选项,否则无法通过 Web 浏览器打开。我遇到的问题是,当我将 --html-extension 与 --no-clobber 一起使用时,它无法识别大多数文件由于某种原因已经存在,因此它会经历重新下载内容的整个过程已经有了。
一个例子: wget -nc http://www.test.com/ 运行一次将像预期的那样保存文件。如果您再次运行它,它会说该文件已经存在,因此无法检索。这就是我所期望的操作。
但是,删除刚刚保存的文件并运行: wget -nc http://www.test.com/ --html 扩展名 然后再次运行相同的命令。它会覆盖该文件而不是说文件已经存在。这是怎么回事?
最佳答案
添加 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 生成的 Material 时。一个网址 像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.原始。
关于html - 如果 wget 中使用了 --html-extension,那么 --no-clobber 仍然会覆盖文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13783627/