如何保存一个网页快照与它的所有元素(css, js,图像,…)到一个文件
How to save a web page snapshot with all its elements (css, js, images, ...) into one file
如何以编程方式将网页快照与其所有元素(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扩展,可以打开这些类型的文件,但不能保存它们。
很抱歉回复这么老的帖子,只是想传播这个信息!
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- Sails.js:同时发布文本输入和一个文件
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 要求定义另一个文件中的对象
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 如何将所有JS文件连接到一个文件夹中
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- 从AngularJS中的另一个文件中的控制器访问服务
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- 通过AngularJS promise下载一个文件
- Grunt-将多个文件最小化/处理为一个文件
- 文件的节点自动化移动到另一个文件夹中
- 用于文件移动到另一个文件夹的Javascript自动化
- 需要从一个文件中获取多个模块
- 仅首先需要使用jasmine从节点添加一个文件
- jQuery Mobile样式从另一个文件加载内容
- 最小化CSS/JS文件,并使用命令行创建一个文件
- 我如何制作一个文件的副本并用gump将其移动到父文件夹
- 为什么当我上传文件并点击更多上传另一个文件的第一个删除