toor
0623c55407
feat: 清单存 /s/ 路径,重开程序跳过画廊页解析
画廊页要翻 ?p=N 分页收集全部页(206 张 = 11 次请求)。之前每次运行都要
重新解析一遍,即使本地已经有完整清单。现改为:
- 清单升级到 v2,pageMap 存每页的 /s/ 路径与文件名
- 下载前先按 gid 找磁盘上的画廊目录,读到 v2 清单就直接下载,不请求画廊页
- 解析完立即写清单,崩溃/关程序也不丢
为什么存 /s/ 路径而不是 hath 直链:
hath 直链是「随机子域 + 随机端口 + 时间戳签名」,每次都变且会过期,
存下来也没法用(手动复制到浏览器打开,下次同样失效)。/s/ 路径是稳定的。
降级策略(都实测过):
- v1 旧清单(没有 pageMap)→ 重新解析,并把清单升级成 v2
- 清单 JSON 损坏 → 重新解析,跑完重写一份正常的
- 清单的 /s/ 路径过期(待下页几乎全失败)→ 自动重新解析一次再重试
- 找不到清单但目录存在(换了目录模板)→ 按新模板名/旧标题名找到目录继续
另外 pageMap 里存了 meta,否则从清单重建时目录模板(如 {artist}/...)
会退化到兜底值,算出来的目录名和之前对不上。
测试从 68 增至 74,其中 TestManifestSkipsReparse 实测第二次运行
画廊页请求数为 0 增量。
2026-10-09 08:58:18 +08:00
..
2026-10-08 23:28:16 +08:00
2026-10-09 00:11:38 +08:00
2026-10-09 08:41:42 +08:00
2026-10-09 00:11:38 +08:00
2026-10-09 08:58:18 +08:00
2026-10-09 08:58:18 +08:00
2026-10-09 00:11:38 +08:00
2026-10-09 08:58:18 +08:00
2026-10-08 23:28:16 +08:00
2026-10-08 23:28:16 +08:00
2026-10-09 08:39:27 +08:00
2026-10-08 23:28:16 +08:00
2026-10-08 23:28:16 +08:00