我需要在 shell 脚本中创建网页的静态副本(包括所有媒体资源,如 CSS、图像和 JS)。此副本应该可以在任何浏览器中离线打开。
一些浏览器具有类似的功能(另存为...网页,完整),它从页面创建文件夹并将外部资源重写为该文件夹中的相对静态资源。
有什么方法可以在 Linux 命令行上对给定的 URL 完成并自动化此操作?
我需要在 shell 脚本中创建网页的静态副本(包括所有媒体资源,如 CSS、图像和 JS)。此副本应该可以在任何浏览器中离线打开。
一些浏览器具有类似的功能(另存为...网页,完整),它从页面创建文件夹并将外部资源重写为该文件夹中的相对静态资源。
有什么方法可以在 Linux 命令行上对给定的 URL 完成并自动化此操作?
你可以wget
这样使用:
wget --recursive --convert-links --domains=example.org http://www.example.org
此命令将递归下载任何可通过来自 www.example.org 页面的超链接访问的页面,而不是跟随 example.org 域之外的链接。
查看wget
手册页以获取更多控制递归的选项。
您希望该工具wget
镜像站点:
$ wget -mk http://www.example.com/
选项:
-m --镜像
打开适合镜像的选项。此选项打开递归和时间戳,设置无限递归深度并保留 FTP 目录列表。它目前相当于 -r -N -l inf --no-remove-listing。
-k --转换链接
下载完成后,将文档中的链接进行转换,使其适合本地查看。这不仅影响可见的超链接,还影响链接到外部内容的文档的任何部分,例如嵌入的图像、到样式表的链接、到非 HTML 内容的超链接等。