【问题标题】:How to save HTML pages as one file?如何将 HTML 页面保存为一个文件?
【发布时间】:2013-04-16 16:35:02
【问题描述】:

我希望能够将 HTML 页面保存/存档为一个文件(没有那些讨厌的外部文件夹)。

我希望生成的文件包含所有样式、图像和链接(视频和 Flash 也不错,但不是那么重要)。

我希望生成的文件是可搜索和可编辑的。

Microsoft 的 MHT 就是这样的工具之一,但不幸的是,它在 Linux 下无法搜索。 MHT很好,但我不想被锁定在一个操作系统或一个公司下。什么是一个好的选择——或者也许有一些我没有考虑过的完全不同的解决方案?

【问题讨论】:

    标签: html save archive webarchive


    【解决方案1】:

    SingleFile chrome extension 是一个很好的解决方案。

    我还编写了自己的 python 工具来解决这个问题,我建议尝试一下:https://github.com/zTrix/webpage2html

    【讨论】:

      【解决方案2】:

      通过切换 chrome://flags 页面上的“将页面另存为 MHTML”选项,支持在当前版本的 Google Chrome 中查看和创建 MHTML 文件。

      在您的网址框中输入 chrome://flags

      但是,启用此实验性选项会禁用将页面保存为纯 HTML 或 HTML 完整文件。从 chrome://flags 页面:

      【讨论】:

      • 该标志现在只是添加,而不是切换版本 51.0.2704.84(64 位)上的 mhtml 选项
      • Gone.
      【解决方案3】:

      根据 zTrix 的回答,我建议避免使用 Chrome 扩展程序(这对我根本不起作用),而是使用以下选项之一:

      • Node.js:remy's inliner
        • 使用npm 易于安装
        • 许多选项,包括用于禁用缩小/压缩、维护外部图像、跳过视频等的标志。
        • 警告:(2017 年 9 月 22 日)在编译 Slate builds 时无法保持样式和 JavaScript 功能。这不会直接影响大多数人,但这意味着内联可能会与其他页面有问题。见this issue
        • 警告:没有“不理会”的选项:将缩小/丑化 CSS/JS 或美化,但不会简单地将原始源代码嵌入 HTML。
      • Python 2:zTrix's webpage2html
        • 比内联更保守;适用于大多数情况。
        • zTrix 修复了一个错误(内联器似乎也有),该错误可确保编译 Slate builds 时的 JavaScript/CSS 功能。见this issue(2017 年 9 月 29 日更新)
        • 可以converted to Python 3相对轻松
        • 警告:无法处理 CSS @import

      【讨论】:

      • 太棒了。内联为我开箱即用。 Webpage2Html 无法成功。我试图将本地文件转换为单个 html。
      【解决方案4】:

      通常,可以创建一个 HTML 文件,其中包含他所有常见的子文件(css、jpg、js、svg、...)
      您必须通过替换“src”属性值、“url()”函数来重写 HTML 文件,并插入 HTML 标记,如 JavaScript 文件的“<script></script>”、CSS 文件的“<style></style>”和“<svg></svg>” " 用于 SVG 图像。

      例如由“url()”函数调用的 CSS 中的 GIF 图像文件。

      1. 从他的 URL 下载图片。
      2. 将此图像编码为 Base64。
      3. 将“url('https://en.wikipedia.org/wiki/File:TPB_Magnet_Icon.gif')”替换为“url('data:image/gif;base64,R0lGODlhDAAMALMPAOXl5ewvErW1tebm5oocDkVFRePj47a2ts0WAOTk5MwVAIkcDesuEs0VAEZGRv///yH5BAEAAA8ALAAAAAAMAAwAAARB8MnnqpuzroZYzQvSNMroUeFIjornbK1mVkRzUgQSyPfbFi/dBRdzCAyJoTFhcBQOiYHyAABUDsiCxAFNWj6UbwQAOw')”,使用 Base64 编码的 GIF 图片,前缀为“data:image/gif;base64,

      您可以对“src”属性的值执行相同的操作。 此解决方案可用于其他二进制文件。您必须调整正确的“data”前缀以对应编码对象。

      【讨论】:

      • 不是一键式解决方案,但信息都一样好。谢谢。
      猜你喜欢
      • 2014-01-22
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-30
      • 2018-07-05
      • 2011-03-17
      相关资源
      最近更新 更多