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

时间:2013-04-06 10:22:17

标签: bash curl web-crawler wget lynx

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

某些浏览器具有类似的功能(另存为...网页,完整),它从页面创建文件夹并将外部资源重写为此文件夹中的相对静态资源。

在Linux命令行上完成并自动执行此操作的方法是什么?

2 个答案:

答案 0 :(得分:4)

您可以像这样使用wget

wget --recursive --convert-links --domains=example.org http://www.example.org

此命令将递归下载任何可通过www.example.org页面上的超链接访问的页面,而不是关注example.org域外的链接。

检查wget手册页以获取更多控制递归的选项。

答案 1 :(得分:3)

您希望工具wget镜像网站:

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

选项:

  

-m --mirror

     

启用适合镜像的选项。此选项打开递归和时间戳,设置无限递归深度并保持   FTP          目录列表。它目前相当于-r -N -l inf --no-remove-listing。

     

-k --convert-links

     

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