
上周五晚上我想把一个技术文档站存下来离线看。浏览器另存为图片丢了样式乱了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/kagelatest。没装 Go 也没事去 releases 页面下预编译包就行支持主流平台。说实话这种工具我以前也用过几个要么存出来的页面缺胳膊少腿要么配置复杂到劝退。Kage 目前用下来是最省新的一个至少我那个文档站的场景它完美搞定了。你手头有没有那种”再不存下来可能就没了”的网页下载链接https://pan.quark.cn/s/7c17f9c908b3