离线网站克隆工具 Kage
上周五晚上,我想把一个技术文档站存下来离线看。浏览器另存为?图片丢了,样式乱了,JavaScript还在疯狂报错。折滕了半小时,只存了一堆碎片。后来朋友丢给我一个Go写的命令行工具叫 Kage,十分钟就把整个站原封不动地搬进了硬盘,双击 index.html 直接能看,跟在线一模一样。

它到底干了什么
原理其实不复杂。Kage 会启动一个 headless Chrome,把你指定的网页打开,等页面里那些乱七八糟的动态脚本全跑完,DOM 树稳定了,它就把最终渲染出来的 HTML 抓下来。然后重点来了——把所有 JavaScript 全部删掉,CSS、图片、字体这些静态资源统统拉到本地。最终你拿到的就是一套纯静态文件,断网也能完美浏览。
几个让我觉得好用的功能
clone 命令是核心。爬一整个站的时候,你可以限制页数和爬取深度,也能按路径前缀过滤,只抓你要的部分。子域名它也能自动处理。最让我精喜的是,它会自动滚动页面来触发懒加载内容——现在很多站图片都是滚动才加载,普通爬虫根本拿不到。还支持断点续爬和增量刷新,爬到一半断了也不怕。
serve 命令可以在本地起一个 HTTP 服务预览镜像,pack 命令能把镜像打包成单个文件。这里有个骚操作:它可以把数据包粘到 Kage 自身的二进制文件上,变成一个独立可执行文件,发给别人双击就能看。另外也支持 ZIM 格式,知识库里常用的那种。
安装很简单
装了 Go 的话直接一行命令搞定:go install github.com/tamnd/kage/cmd/kage@latest。没装 Go 也没事,去 releases 页面下预编译包就行,支持主流平台。
说实话,这种工具我以前也用过几个,要么存出来的页面缺胳膊少腿,要么配置复杂到劝退。Kage 目前用下来是最省新的一个,至少我那个文档站的场景它完美搞定了。你手头有没有那种”再不存下来可能就没了”的网页?
下载链接:https://pan.quark.cn/s/7c17f9c908b3