如何保存一个网页快照与它的所有元素(css, js,图像,…)到一个文件

How to save a web page snapshot with all its elements (css, js, images, ...) into one file

本文关键字:一个 文件 css 元素 js 图像 保存 何保存 网页 快照      更新时间:2023-09-26

如何以编程方式将网页快照与其所有元素(css, js, images,…)保存到一个文件中?

我需要定期存档一些网页。然而,仅仅保存他们的HTML代码是没有用的——不仅因为缺少图像,尤其是因为在今天的页面上缺少CSS会使网页变得无法识别。

我记得。mht格式是这样工作的,但这需要手动保存,这只是IE的一个功能。我相信有一个开源的解决方案可以通过编程实现这一点,但是尽管搜索了几个小时,我还是无法在网上找到它。

HTTrack, -%M

在终端使用wget

wget -p -k http://www.example.com/

它会克隆网站前端的html, css, js, svg等。但不是按要求放在一个档案里。相反,它将重新创建整个文件夹结构

。如果www.example.com的文件夹结构为

 /css/*
 /js/*
 /index.html

则会在本地创建相同的结构

文档:https://www.gnu.org/software/wget/manual/wget.html

我认为@reisio(+1)已经覆盖了你…

…但是,如果只是插入一个伟大的免费工具,我会指出Firefox扩展Save Complete,它做了一个令人钦佩的工作,在特设的基础上抓取"完整"页面。输出将是一个HTML文件,附带一个目录,其中包含所有资源—您可以轻松地将它们压缩以便存档。

它不是没有错误-我最近在OSX上遇到了损坏的.png文件的问题,但我经常使用它来构建实时页面的模型,这是一个巨大的节省时间。(同样值得注意的是,它还没有为FF 4更新,这是我回滚到3.6的唯一原因)

如果您使用的是谷歌浏览器,只需使用保存页面作为菜单项(CTRL + s),并从文件对话框底部的选项中选择完整的网站。这将保存HTML和所有所需的资源(在单独的文件夹中)。

苹果的Safari有一个很好的解决方案。它保存了所有的HTML和CSS(遗憾的是没有JS),但以一种名为webchive的格式保存。它是一个文件,但它需要Safari来保存和打开,而Safari需要Mac。尽管Windows的Safari 确实存在,但它太老了,无法处理网页,它甚至不支持保存为webchive或打开它们。如果您使用的是Mac,请在Safari中打开任何网站,然后按⌘S,然后确保下拉菜单中显示Web Archive。

还有一个Chrome扩展,可以打开这些类型的文件,但不能保存它们。

很抱歉回复这么老的帖子,只是想传播这个信息!