新闻详情

新闻详情

首页 / 资讯中心 / 详情

clone到一半被中断?kage断点续爬机制揭秘:state.json如何记住每一页

发布时间:2026/9/26 23:47:53来源:尧图网络
clone到一半被中断?kage断点续爬机制揭秘:state.json如何记住每一页
clone到一半被中断kage断点续爬机制揭秘state.json如何记住每一页【免费下载链接】kageShadow any website for offline viewing, with the JavaScript stripped out项目地址: https://gitcode.com/gh_mirrors/kage6/kagekage 是一个能把网站完整克隆到本地、并剥离所有 JavaScript 的离线镜像工具。当kage clone爬取大型站点时Ctrl-C、断电、断网都可能让任务中途夭折——kage 内置的断点续爬机制会把这些进度写进state.json下次重跑时自动跳过已完成页面、从未完成处继续一行命令都不用多敲。一、先认识 kage为什么它敢断点续爬 kage 的克隆流程是真实无头 Chrome 渲染页面 → 快照最终 DOM → 剥离全部脚本 → 把 CSS、图片、字体下载到本地路径。每一步都是确定性的同一个 URL 永远映射到同一个本地文件。正是这种URL 到文件的确定性映射让哪些页面已经写完可以精确到每一页。二、state.json 存在哪它记住了什么镜像目录里有一个保留文件夹_kage/里面放着状态文件host/_kage/state.json。它在每次运行时记录两样东西visited已完成集已经成功写盘的所有页面按输出文件路径去重pending待办清单已发现但还没爬完的页面每条都带着 URL 和深度depth因为--max-depth是从种子页算起的续爬时无法重新计算。paulgraham.com/ ├── index.html ├── _kage/ │ ├── paulgraham.com/site.css │ └── state.json # 已完成集 待办清单状态结构定义在 frontier.go{ visited: […], pending: [{ url: …, depth: 2 }] }写入时采用先写临时文件、再原子重命名的方式frontier.go保证即使进程在保存瞬间被杀也不会留下半个损坏的 JSON。三、续爬四步走一次重跑就接上 Ctrl-C 是干净的停止kage 取消进行中的渲染、把状态刷盘、退出。已写好的页面一页不丢终端会提示interrupted; resume state saved (rerun to continue)见 clone.go。重跑时先读状态Run()开头加载state.json打印resume: 137 pages already done待办清单重新入队requeueUnfinished 把上次的 pending 逐条放回队列打印resume: picking up 412 pages已完成的自动跳过去重判断 isVisited 让重复 URL 不再入队直到队列为空。默认就开启不需要任何额外参数kage clone example.com # 中断后原样再跑一次即可四、失败页面会自动补爬预算也能分批花 失败即记忆渲染超时、瞬时 5xx 的页面不会被标记为完成而是留在 frontier 里——下次重跑自动重试网络抖动造成的缺口再跑一轮就补齐了。但被robots.txt拒绝的页面会标记为 done避免反复空转逻辑见 frontier.go。用--max-pages先试水页面预算是每次运行的额度被压住的页面同样留在待办清单里。先-p 20看看前 20 页效果满意后不限额重跑剩下的自然接上。想彻底重来--force会先删除整个$HOME/data/kage/host/再爬--no-resume则完全不读写状态文件做一次性克隆。三个开关的接线在 clone.go。五、离线验收你的镜像长这样 爬完后用kage serve 镜像目录打开本地服务或直接双击 HTML 文件。页面已剥离脚本、引用全部本地化左侧导航、样式与原站几乎一致——而这一切不依赖任何网络完整官方指南见 resuming-a-run.md配置全貌参考 configuration.md。一句话总结state.json 已完成集 待办清单 深度记忆原子写盘、默认开启、失败自动重试——kage 让爬一半中断从事故变成了日常。【免费下载链接】kageShadow any website for offline viewing, with the JavaScript stripped out项目地址: https://gitcode.com/gh_mirrors/kage6/kage创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

IDA Pro逆向Xtensa固件:从乱码到可读汇编的实操指南 2026/9/27 1:45:16

IDA Pro逆向Xtensa固件:从乱码到可读汇编的实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
汕头论坛网站建设防挂马实战:3个免费工具救急 2026/9/27 1:45:16

汕头论坛网站建设防挂马实战:3个免费工具救急

汕头论坛网站建设防挂马实战:3个免费工具救急 网站被黑挂马,页面突然弹出博彩广告,后台多出陌生管理员,这种噩梦谁没经历过?很多独立站长第一反应是慌,重装系统、换模板,结果没过两天又中招。别急,今天咱们聊聊我在汕头做论坛站建设的真实经历,重点…

阅读更多 →
nRF54L15 vs nRF52840:22nm工艺与蓝牙6.0迁移实战 2026/9/27 1:45:16

nRF54L15 vs nRF52840:22nm工艺与蓝牙6.0迁移实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Smith Chart与ADS阻抗匹配实战:从单频匹配到宽带优化 2026/9/27 1:45:16

Smith Chart与ADS阻抗匹配实战:从单频匹配到宽带优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
基于STM32的高精度土壤湿度自动浇水系统 2026/9/27 1:45:16

基于STM32的高精度土壤湿度自动浇水系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
PlatformIO创建工程失败?彻底清理残留重装环境全攻略 2026/9/27 1:45:10

PlatformIO创建工程失败?彻底清理残留重装环境全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉