本文记录桌面端环境下对网页离线存储、备份、浏览的方法。
先决条件
具备以下实验环境:
- 桌面端操作系统、Chrome 浏览器
- Git 仓库
演示链接:https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/route_ws2008
方案一:MHTML+Git 仓库
适用于普通用户的离线网页存储、浏览行为。
保存
快捷键 Ctrl+S
保存网页,选择 单个文件
,即可保存成 .mhtml
格式。在此过程中可以自定义需要的文件名,便于后期检索。
保存完成后可以看到文件,大小为 795.6 KiB
。
1 | ls |
备份
设置好同步目录,将 .mhtml
上传到 Git 仓库、云盘即可。
浏览
使用浏览器程序可以直接打开 .mhtml
文件,进行浏览。如需搜索可使用 Everything
工具搜索文件名,需要注意的是,我们无法直接检索到网页文件的文本内容。
方案二:SingleFile+Git 仓库+HamsterBase
需要部署自托管 docker 容器
HamsterBase
。HamsterBase
引入了标签系统和全文检索功能,方便了使用。在此过程中,我也相当于把离线网页文件保存了两份,一份在
Github
,一份在HamsterBase
里。
SingleFile
官方仓库:https://github.com/gildas-lormeau/SingleFile
HamsterBase
官方仓库:https://github.com/hamsterbase/hamsterbase
保存
使用 Chrome 扩展程序 SingleFile 进行保存离线网页。
点此访问 Chrome 应用商店安装扩展,安装完成后点击 SingleFile 图标即可保存网页。
SingleFile 生成的为单个 .HTML
文件,默认情况下,会将网页文件保存到文件系统(也就是弹出对话框以选择保存位置)。
右键 SingleFile 图标,选择 选项
,可以设置其保存位置,此处我使用 保存到Github
,要用到个人访问令牌(Personal access tokens
)。
另外也可以使用 保存到WebDAV服务器
,大家按需选择。
相比于 .mhtml
文件,SingleFile 保存的 .html
文件大了数倍。
1 | ls |
备份
保存到 Github 就已经拥有了备份。
浏览
使用 docker 部署 HamsterBase,点此参考官方文档。
部署完成后,打开其 WebUI
,可以看到上传界面,这个界面适用于手动操作,了解即可。
我们已经将网页文件保存到了 Github
,如何将其导入 HamsterBase 呢?
查询官方文档得知,只要把网页文件放在 数据库的地址/workspace/inbox
,HamsterBase 会自动导入。
这里使用一个定时作业脚本完成,您可以将其运行在喜欢的运维平台上。我的同步周期为每 12 小时一次。
1 | 切换到本地Git仓库目录 |
同步完成后,在 HamsterBase 里即可使用标签、全文检索、访问原 URL 功能。
需要注意的是,每次都是使用全量拷贝以供 HamsterBase 自导导入,随着网页数量的增多,其导入速度肯定是会变慢的。这样做的主要原因是 HamsterBase 不支持批量导出原数据,所以我宁愿把数据保存两份:一份是在 Github 仓库里,以 .html
文件的形式存在,作为异地备份;一份在 HamsterBase 中,方便使用。
总结
根据自身情况按需选择。
网页格式 | 优点 | 缺点 | |
---|---|---|---|
方案一 | mhtml | 简单、保存文件小、更好的适用范围(浏览器) | 想使用标签,只能在文件名上做文章;无法检索离线网页内容 |
方案二 | html | 标签、全文检索 | 更高的部署难度;保存的网页文件过大 |
-EOF
查看最新版,请访问本文链接:https://blog.onehat.cn/p/517b.html
原创作品,转载请保留出处。