Bash 在UNIX命令行/shell脚本上创建网页的静态副本

Bash 在UNIX命令行/shell脚本上创建网页的静态副本,bash,curl,web-crawler,wget,lynx,Bash,Curl,Web Crawler,Wget,Lynx,我需要在shell脚本中创建一个网页的静态副本(包括所有媒体资源,如CSS、图像和JS)。此副本应可在任何浏览器中脱机打开 有些浏览器具有类似的功能(另存为…网页,完成),可以从页面创建文件夹,并将外部资源重写为该文件夹中的相对静态资源 在Linux命令行上,通过什么方法可以实现并自动将其映射到给定的URL?您希望工具wget镜像站点,请执行以下操作: $ wget -mk http://www.example.com/ 选项: -m——镜子 启用适合镜像的选项。此选项启用递归和时间戳,设置无

我需要在shell脚本中创建一个网页的静态副本(包括所有媒体资源,如CSS、图像和JS)。此副本应可在任何浏览器中脱机打开

有些浏览器具有类似的功能(另存为…网页,完成),可以从页面创建文件夹,并将外部资源重写为该文件夹中的相对静态资源


在Linux命令行上,通过什么方法可以实现并自动将其映射到给定的URL?

您希望工具
wget
镜像站点,请执行以下操作:

$ wget -mk http://www.example.com/
选项:

-m——镜子

启用适合镜像的选项。此选项启用递归和时间戳,设置无限递归深度并保持 文件传输协议 目录列表。它目前相当于-r-N-l inf——没有删除列表

-k—转换链接

下载完成后,转换文档中的链接,使其适合本地查看。这不影响 只有 可见的超链接,但文档中链接到外部内容的任何部分,如嵌入的图像、样式表的链接, 指向非HTML内容的超链接等


您可以这样使用
wget

wget --recursive --convert-links --domains=example.org http://www.example.org
此命令将递归地从www.example.org上的页面下载超链接可访问的任何页面,而不是在example.org域之外的链接


查看
wget
manual页面以了解更多控制递归的选项。

您是否尝试过来自的答案?我建议对静态副本使用--adjust extension标志。如果没有该标志,以诸如
index.html?id=2
之类的查询结尾的URL将显示一个名为
index.html?id=2
的文件,并且不会被识别为要在浏览器中打开的文件。使用该标志,生成的文件名为
index.html?id=2.html