# README And Beginner Guide Requirements ## Goal 为当前抖音视频爬取项目补齐两层面向用户的文档,使一个不懂代码的 Mac 用户也能按照步骤执行,并最终成功下载出抖音视频。 本次文档需求包含两部分: - 仓库根目录的 `README.md` - `externaldocs/` 下的详细图文操作手册 本需求文档只定义文档目标、范围、结构、截图策略和约束,不直接修改实现代码。 ## Target Audience 目标读者是: - 使用 macOS 的用户 - 不懂代码 - 不熟悉 Python - 不熟悉虚拟环境 - 但已经把项目放到了本地机器上 本次文档不负责指导用户如何 `git clone` 或下载项目源码到本地。 ## Documentation Strategy 采用双层文档结构: ### 1. Root `README.md` `README.md` 作为导航版首页,职责是: - 简要说明项目是什么 - 说明项目能做什么 - 说明项目不能做什么 - 告诉用户从哪里开始 - 引导用户查看详细图文手册 `README.md` 不承担完整教学职责,不写成超长操作文档。 ### 2. Detailed Guide In `externaldocs/` 详细图文手册作为主操作文档,职责是: - 面向完全不会代码的用户 - 从环境准备开始写 - 一步一步带到成功下载出视频 - 给出执行命令、预期结果和失败时的处理方式 ## Scope ### Included 详细图文手册必须覆盖以下内容: 1. 项目简介 2. 使用前准备 3. 如何确认本机已安装 Python 4. 如何打开终端 5. 如何进入项目目录 6. 如何创建或使用虚拟环境 7. 如何安装依赖 8. 如何启动登录浏览器 9. 如何在浏览器中完成抖音登录和验证码 10. 如何运行抓取命令 11. 如何确认抓取成功 12. 下载结果保存在哪里 13. 常见错误及处理办法 ### Excluded 本次文档明确不包含以下内容: - 如何从远端拉取项目代码到本地 - Git 基础教学 - 任意网页抓取教学 - 非 Mac 平台的安装说明 - 抖音接口原理深度分析 ## README Requirements `README.md` 必须满足以下要求: 1. 用非技术语言介绍项目用途 2. 明确说明这是一个“登录浏览器后附着抓取”的工具 3. 简短说明当前项目的主要能力 4. 简短说明当前项目的限制 5. 提供“最快开始”入口 6. 链接到 `externaldocs/` 下的详细图文手册 ### Recommended README Sections - 项目简介 - 适用人群 - 当前支持的能力 - 快速开始 - 详细使用说明 - 常见注意事项 ## Detailed Guide Requirements 详细图文手册必须写成严格的步骤式说明,适合完全不会代码的读者照做。 ### Writing Style - 不使用不必要术语 - 每一步只做一件事 - 每一步都给出要执行的命令 - 每一步都给出“执行后应该看到什么” - 若这一步常见失败,则紧跟“如果失败怎么办” ### Required Workflow Coverage 详细手册必须按以下顺序组织主流程: 1. 确认 Python 是否已安装 2. 打开终端 3. 进入项目目录 4. 创建或启用虚拟环境 5. 安装依赖 6. 启动登录浏览器 7. 在浏览器中完成抖音登录 8. 运行抓取命令 9. 查看终端成功提示 10. 在本地查看下载出来的 mp4 文件 ## Screenshot Strategy 本次截图必须重新拍摄,不直接复用旧图。 ### Principles - 只截关键步骤 - 每张图只服务一个步骤 - 截图内容要与最终文档步骤严格一致 - 优先保证“能照着做”,而不是“图多” ### Required Screenshot Topics 至少应考虑覆盖以下截图: 1. 项目目录结构 2. 打开终端并进入项目目录 3. 安装依赖命令 4. 运行 `login_douyin.py` 5. 浏览器登录后的状态 6. 运行抓取命令 7. 成功下载后的 `video/` 目录 ### Screenshot Placement - `README.md` 只放少量必要截图或不放截图 - 主要截图集中放在详细图文手册中 ## Success Signals In The Guide 文档里必须明确告诉用户如何判断是否成功,至少包括: - 终端中会出现哪些关键信息 - 抓取完成后会看到哪些成功提示 - 本地哪个目录里能看到下载结果 - 下载出的文件是什么格式 ## Common Error Handling 详细图文手册必须包含至少以下常见错误的处理建议: 1. 系统找不到 `python` 或 `.venv` 2. 依赖安装失败 3. Chrome 调试端口未就绪 4. 抖音登录未完成或验证码未通过 5. 运行抓取后没有下载出视频 6. 看不到 `video/` 目录或目录为空 ## TDD Constraint 本次文档需求本身不要求用 TDD 编写文档。 但如果为了让文档步骤成立而需要修改代码,则后续代码改动必须遵循 TDD: 1. 先写失败测试 2. 确认测试因功能未实现而失败 3. 再写最小实现让测试通过 4. 最后再重构 ## Acceptance Criteria 该需求完成后,应满足以下标准: 1. 仓库首页有清晰的 `README.md` 2. `README.md` 能让用户快速理解项目并找到详细手册 3. `externaldocs/` 下存在一份完整的面向小白的图文操作手册 4. 一个不会代码的 Mac 用户可以按手册独立完成操作 5. 手册能从环境准备一路带到视频下载成功 6. 手册包含关键截图、预期结果和常见错误处理