使用 Wget 保存单个网页(带有背景图像)

use*_*124 82 web download wget command-line mirroring

我想使用 Wget 保存单个网页(不是递归,不是整个网站)以供参考。很像 Firefox 的“网页,完整”。

我的第一个问题是:我无法让 Wget 保存 CSS 中指定的背景图像。即使它确实保存了背景图像文件,我也不认为 --convert-links 会将 CSS 文件中的背景图像 URL 转换为指向本地保存的背景图像。Firefox 也有同样的问题。

我的第二个问题是:如果我想保存的页面上有托管在另一台服务器上的图像(如广告),则不会包含这些图像。--span-hosts 似乎没有用下面的行解决这个问题。

我正在使用: wget --no-parent --timestamping --convert-links --page-requisites --no-directories --no-host-directories -erobots=off http://domain.tld/webpage.html

小智 115

Wget 手册页

实际上,要下载单个页面及其所有必需品(即使它们存在于不同的网站上),并确保该批次在本地正确显示,除了“-p”之外,作者还喜欢使用一些选项:

wget -E -H -k -K -p http://www.example.com/
Run Code Online (Sandbox Code Playgroud)

此外,如果robots.txt不允许您添加-e robots=off

  • 扩展:`wget --adjust-extension --span-hosts --convert-links --backup-converted --page-requisites [url]` (22认同)
  • 或者更好的`wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows` [url] (4认同)
  • 对于一个页面,我试图使用命令 `wget -E -H -k -K -p -e robots=off URL` 使其 100% 工作,谢谢。 (3认同)

Ern*_*bar 7

wget命令提供了 option --mirror,它的作用与:

$ wget -r -N -l inf --no-remove-listing
Run Code Online (Sandbox Code Playgroud)

您还可以为-x站点创建一个完整的目录层次结构,包括主机名。

如果您使用的不是最新版本,您可能无法找到它wget

  • 这可能会抓取整个网站及其子网址 (2认同)