将HTML保存为独立页面:导出工具?
我需要定期将html页面发送给客户,要求是独立的.html文件,不能依赖外部资源。原来的页面是用node.js和express做的,里面包含了几个库,比如High Charts。
到目前为止,我都是手动准备这些文件,具体步骤包括:
- 把所有的图片转换成blob格式
- 把所有外部的.js和.css文件复制到页面里
- 尽量压缩文件(像jQuery或Bootstrap这样的标准库...)
最终的结果是一个可以在没有网络连接的情况下打开的单一.html文件,外观和原始页面完全一样。
有没有什么工具可以自动完成这个过程?如果没有的话,我可能会用Python自己写一个。你有什么建议吗?
谢谢!
2 个回答
0
对不起,原作者,这个回答可能对他来说已经太晚了,但我还是想发出来,帮助遇到类似问题的人:
HTTrack 是一个开源项目,几乎可以做到你所描述的功能,虽然在一些比较特殊的JavaScript上可能不太完美。
它可以保存网页的大部分JavaScript、主要图片,以及网页显示完整所需的所有内容。你可以设置它来包含或排除全部或部分的JavaScript、图片和CSS。
它并不是把所有的JavaScript和其他内容都导入到HTML文件里,而是把所有内容整齐地组织到一个文件夹里,并修正所有路径,使这个文件夹可以随意移动。
它似乎在抓取一些受保护的外部资源时会遇到问题,但如果是你自己的本地网站,并且只是使用一些常见的脚本,比如JQuery,那应该没问题。当我测试的时候,它成功下载了我所有的本地CSS,以及我使用的任何有效的外部CSS库,还有JQuery和相关的脚本,以及嵌入的图片。
为了避免大家问,这个程序默认会把下载的网站保存到 C:\My Web Sites
。
2
Monolith 是一个命令行工具,可以把完整的网页保存为一个单独的 HTML 文件。
你可以查看这个工具的详细信息,网址是 https://github.com/Y2Z/monolith