如何使用 wget 下载整个站点,包括其图像

ass*_*ler 3 shell wget

我正在尝试使用以下方式下载整个网站wget

wget -r http://whatever/

wget -m http://whatever/

但它只下载带有文本的页面,没有图像。如何下载带有文本和图像的页面?我在这里缺少什么?

bae*_*elx 5

wget您需要使用的命令要长得多,如下所述。因此,您可能希望将其提交到类似 的文件中wholesite.sh,使其成为可执行文件,然后运行它。它将创建一个 url 目录和站点资产的子目录,包括图像、js、css 等。

wget \
     --recursive \
     --level 5 \
     --no-clobber \
     --page-requisites \
     --adjust-extension \
     --span-hosts \
     --convert-links \
     --restrict-file-names=windows \
     --domains yoursite.com \
     --no-parent \
         yoursite.com
Run Code Online (Sandbox Code Playgroud)

解释

--recursive 这指定了您要检索的站点资产的子目录数量(因为像图像这样的资产通常保存在站点的子目录中)搜索资产的默认最大深度为 5 个子目录。您可以使用level下面的标志修改它。

--level 5在 5 个子目录中搜索资产。如果目标站点更大或更小,我建议分别增加或减少它。

--no-clobber 不要覆盖现有文件。

--page-requisites 导致wget下载正确显示给定 HTML 页面所需的所有文件,其中包括图像、css、js 等。

--adjust-extension 为 .html、.css 和其他资产保留适当的文件扩展名。

--span-hosts 还包括来自异地的必要资产。

--convert-links 更新站点链接以用作本地计算机上子目录中的文件(用于本地查看)。

--restrict-file-names=windows 修改文件名也可以在 Windows 中使用,以防您在 Windows 系统上使用此命令。

--domains yoursite.com 请勿点击此域外的链接。

--no-parent 不要访问您传入的目录之外的链接。

yoursite.com # 下载地址


示例改编自:https : //gist.github.com/christiangenco/8531418