This repository has been archived on 2026-08-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
kb-skills/.planning/REQUIREMENTS.md
T
starmen1265 96dfdce59c docs(10-01): complete proxy pool core plan
- SUMMARY.md: proxy pool infrastructure with round-robin rotation
- STATE.md: updated position to Plan 1 of 2
- ROADMAP.md: marked 10-01 complete
- REQUIREMENTS.md: marked PROXY-01, PROXY-02 complete

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 16:43:34 +08:00

8.0 KiB

Requirements: kb-skills

Defined: 2026-03-17 Core Value: 可靠、可维护的处理管道 - 每个步骤独立、可验证、可恢复

v1.2 Requirements

知乎内容爬取体系的完整实现,解决 Cookie 过期问题,支持自动登录维持。

登录认证

  • AUTH-01: 用户可通过二维码扫码登录知乎
  • AUTH-02: 用户可手动设置 Cookie 进行认证
  • AUTH-03: Cookie 自动持久化到本地文件,下次自动复用
  • AUTH-04: Cookie 过期时自动检测并提示重新登录

内容爬取

  • CONT-01: 爬取知乎问答 - 问题标题、问题描述、回答内容、元数据
  • CONT-02: 爬取知乎专栏/文章 - 标题、正文、元数据
  • CONT-03: 爬取内容下的评论(可选开关)
  • CONT-04: 提取作者信息、发布时间、点赞数等元数据

网络与反爬

  • NET-01: 支持代理 IP 配置
  • NET-02: 请求频率控制,避免触发反爬
  • NET-03: 自动获取请求签名(x-zse-96),无需手动逆向

Pipeline 整合

  • PIPE-01: 替换现有 ZhihuProcessor,使用新的爬虫实现
  • PIPE-02: 保持与现有 Pipeline 架构的兼容性
  • PIPE-03: 支持断点续传和幂等执行

v1.1 Requirements (Complete)

中间目录 (Intermediate)

  • INT-01: 中间目录统一到 ~/work/intermediate/analysis/
  • INT-02: 内容目录命名保持 {platform}_{content_id}/ 格式
  • INT-03: 配置文件支持自定义中间目录路径

归档步骤 (Archive)

  • ARC-01: 添加 ArchiveProcessor 作为管道最后一步
  • ARC-02: 分析完成后自动归档到最终目录
  • ARC-03: 归档只复制 md 文件到最终目录
  • ARC-04: 归档后可选清理中间文件

最终目录结构 (Output)

  • OUT-01: 最终目录按平台分目录 (bilibili/, zhihu/)
  • OUT-02: 不再按时间创建归档目录
  • OUT-03: 文件前缀加时间戳 {timestamp}_{content_id}_analysis.md
  • OUT-04: 只保留 md 文件,不归档 json 文件

代码整合 - 元数据 (Metadata Integration)

  • MET-01: kb-bilibili-metadata 整合进 kb-workflow/metadata/
  • MET-02: kb-zhihu-metadata 整合进 kb-workflow/metadata/
  • MET-03: 删除独立的 kb-bilibili-metadata 目录
  • MET-04: 删除独立的 kb-zhihu-metadata 目录
  • MET-05: 更新所有导入路径指向新位置

代码整合 - Pipeline (Pipeline Integration)

  • PIP-01: kb_pipeline/ 合并进 kb-workflow/
  • PIP-02: 保持 processors/, platforms/, schemas.py, state.py, config.py 结构
  • PIP-03: 删除独立的 kb_pipeline 目录
  • PIP-04: 更新 CLI 入口导入路径

v1.3 Requirements (Current)

反爬虫优化,增强爬虫反检测能力,降低被封风险,提升爬取稳定性。

Proxy Pool (代理池管理)

  • PROXY-01: 用户可以配置代理池 — 支持从文件或环境变量加载多个代理地址
  • PROXY-02: 系统自动轮换代理 — 每次请求自动选择下一个可用代理
  • PROXY-03: 代理健康检查 — 检测代理可用性,自动移除失效代理
  • PROXY-04: 代理失败回退 — 当前代理失败时自动切换到下一个代理

Behavior Camouflage (请求行为伪装)

  • BEHAV-01: 随机请求延迟 — 请求间隔在可配置范围内随机化(默认 1-5 秒)
  • BEHAV-02: User-Agent 轮换 — 每次请求使用不同的真实浏览器 UA
  • BEHAV-03: 请求头随机化 — Accept-Language、Accept-Encoding 等头部随机化
  • BEHAV-04: 模拟人类浏览模式 — 支持页面滚动、鼠标移动等行为模拟(Playwright)

CAPTCHA Detection (验证码检测)

  • CAPT-01: 验证码页面检测 — 自动检测知乎/B站验证码页面
  • CAPT-02: 验证码触发告警 — 检测到验证码时记录日志并暂停爬取
  • CAPT-03: 验证码状态恢复 — 支持手动处理后继续爬取

Error Recovery (错误恢复机制)

  • ERR-01: 智能重试策略 — 根据错误类型选择不同的重试策略(403/429/超时)
  • ERR-02: 指数退避 + 抖动 — 重试间隔使用指数退避并添加随机抖动
  • ERR-03: 错误分类处理 — 区分临时错误和永久错误,避免无效重试
  • ERR-04: 断点续传增强 — 记录失败位置,支持从失败点恢复

Platform Adaptation (平台适配)

  • PLAT-01: 知乎反爬适配 — 针对知乎的反爬策略优化(登录态检测、请求频率限制)
  • PLAT-02: B站反爬适配 — 针对 B站的反爬策略优化(视频/专栏元数据获取)

v2 Requirements (Deferred)

推迟到后续版本的需求。

扩展爬取

  • EXT-01: 问题下所有回答 - 爬取问题的所有热门回答(非单页)
  • EXT-02: 作者全部内容 - 爬取某作者的所有文章/回答
  • EXT-03: 知乎视频 - 爬取知乎视频内容

高级功能

  • ADV-01: 进度可见性 — 实时显示工作流执行进度
  • ADV-02: 并行步骤执行 — 支持独立步骤的并行执行
  • ADV-03: 说话者分离默认启用 — HF_TOKEN 配置后自动使用
  • ADV-04: 微信公众号处理 — 支持微信公众号文章

Out of Scope

明确排除的功能范围。

Feature Reason
知乎会员付费内容 不爬取付费内容,合规考虑
知乎视频 v1.2 不支持,推迟到后续版本
大规模爬取 仅用于个人知识库,不对平台造成负担
付费打码服务 使用二维码登录替代,免费方案
实时/流式处理 批量处理即可
并发限制 不需要限制并发数量
用户界面 命令行运行
多语言支持 中文即可
小红书 当前不支持

Traceability

需求与路线图的映射关系。

v1.2 Traceability

Requirement Phase Status
AUTH-01 Phase 7 Complete
AUTH-02 Phase 7 Complete
AUTH-03 Phase 7 Complete
AUTH-04 Phase 7 Complete
CONT-01 Phase 8 Complete
CONT-02 Phase 8 Complete
CONT-03 Phase 8 Complete
CONT-04 Phase 8 Complete
NET-01 Phase 8 Complete
NET-02 Phase 8 Complete
NET-03 Phase 8 Complete
PIPE-01 Phase 9 Complete
PIPE-02 Phase 9 Complete
PIPE-03 Phase 9 Complete

v1.2 Coverage:

  • Requirements: 14 total
  • Mapped to phases: 14
  • Unmapped: 0 ✓

v1.1 Traceability (Complete)

Requirement Phase Status
INT-01 Phase 5 Complete
INT-02 Phase 5 Complete
INT-03 Phase 5 Complete
ARC-01 Phase 5 Complete
ARC-02 Phase 5 Complete
ARC-03 Phase 5 Complete
ARC-04 Phase 5 Complete
OUT-01 Phase 5 Complete
OUT-02 Phase 5 Complete
OUT-03 Phase 5 Complete
OUT-04 Phase 5 Complete
MET-01 Phase 6 Complete
MET-02 Phase 6 Complete
MET-03 Phase 6 Complete
MET-04 Phase 6 Complete
MET-05 Phase 6 Complete
PIP-01 Phase 6 Complete
PIP-02 Phase 6 Complete
PIP-03 Phase 6 Complete
PIP-04 Phase 6 Complete

Requirements defined: 2026-03-17 Last updated: 2026-03-18 after v1.3 requirements added

v1.3 Traceability

Requirement Phase Status
PROXY-01 Phase 10 Complete
PROXY-02 Phase 10 Complete
PROXY-03 Phase 10 Pending
PROXY-04 Phase 10 Pending
BEHAV-01 Phase 11 Pending
BEHAV-02 Phase 11 Pending
BEHAV-03 Phase 11 Pending
BEHAV-04 Phase 11 Pending
CAPT-01 Phase 12 Pending
CAPT-02 Phase 12 Pending
CAPT-03 Phase 12 Pending
ERR-01 Phase 13 Pending
ERR-02 Phase 13 Pending
ERR-03 Phase 13 Pending
ERR-04 Phase 13 Pending
PLAT-01 Phase 14 Pending
PLAT-02 Phase 14 Pending

v1.3 Coverage:

  • Requirements: 17 total
  • Mapped to phases: 17
  • Unmapped: 0 ✓