我正在尝试将网站列表制作成静态网站,我正在使用这个 wget 命令
wget --quiet -E -H -k -nd -K -p -e robots=off #{url}
结果基本是我想要的,但是 index.html 上的所有 url 都是相对的
href="some_css.css"
,我想向所有 url 添加一个特定的域,
href="https://somedomain.com/some_css.css"
wget 是否支持或者有什么方法可以做到这一点?
答案1
您可能得到的最接近的答案是--convert-links
。
来自手册页:
下载完成后,转换文档中的链接,使其适合本地查看。这不仅会影响可见的超链接,还会影响文档中链接到外部内容的任何部分,例如嵌入的图像、样式表链接、非 HTML 内容的超链接等。
每个链接将以以下两种方式之一进行更改:
- Wget 下载的文件的链接将被更改为引用它们指向的文件作为相对链接。例如:如果下载的文件 /foo/doc.html 链接到也已下载的 /bar/img.gif,则 doc.html 中的链接将被修改为指向“../bar/img.gif”。这种转换对于任意目录组合都可靠地起作用。
- Wget 尚未下载的文件的链接将被更改为包含主机名和它们指向的位置的绝对路径。例如:如果下载的文件 /foo/doc.html 链接到 /bar/img.gif(或 ../bar/img.gif),则 doc.html 中的链接将被修改为指向 http://hostname/bar/img.gif。
如果希望它与您从中下载文件的域不同,您必须在域上进行搜索和替换(在第二个要点中)。