# API-Spike-Douyin.md:抖音热点到评论抓取链路验证 ## 1. 文档信息 - 文档阶段:API Spike 验证 - 验证平台:抖音 - API 服务:TikHub API - 验证目标:确认「抖音热点榜单 → 热点相关视频 → 单个视频一级评论」链路可跑通 - 验证结论:链路已跑通,可作为 MVP 阶段抖音评论抓取方案 --- ## 2. 最终跑通链路 MVP 阶段抖音抓取采用以下链路: 1. 获取抖音创作者热点榜单。 2. 从热点榜单中读取热点标题。 3. 使用热点标题作为关键词搜索抖音视频。 4. 从搜索结果中读取视频 `aweme_id`。 5. 使用 `aweme_id` 获取单个视频一级评论。 链路表达: ```text fetch_creator_hot_spot_billboard → hot.title → fetch_video_search_v2(keyword = hot.title) → aweme_info.aweme_id → fetch_video_comments(aweme_id) → comments ``` --- ## 3. 接口一:获取抖音热点榜单 ### 3.1 接口信息 ```http GET https://api.tikhub.io/api/v1/douyin/creator/fetch_creator_hot_spot_billboard ``` ### 3.2 MVP 请求参数 ```text billboard_tag=0 hot_search_type=1 ``` 参数含义: - `billboard_tag=0`:获取全部热点标签。 - `hot_search_type=1`:获取热点总榜。 ### 3.3 MVP 需要字段 热点条目需要读取: ```text query_id title rank category hot_score ``` 字段用途: - `query_id`:热点 ID,作为热点原始标识保存。 - `title`:热点标题,用于后续关键词搜索视频。 - `rank`:热点排名。 - `category`:热点分类。 - `hot_score`:热点热度值。 --- ## 4. 接口二:通过热点标题搜索相关视频 ### 4.1 接口信息 ```http POST https://api.tikhub.io/api/v1/douyin/search/fetch_video_search_v2 ``` ### 4.2 MVP 请求体 ```json { "keyword": "<热点标题>", "cursor": 0, "sort_type": "0", "publish_time": "0", "filter_duration": "0", "content_type": "1", "search_id": "", "backtrace": "" } ``` 参数含义: - `keyword`:热点标题,来自热点榜单条目的 `title`。 - `cursor=0`:第一页搜索结果。 - `sort_type=0`:综合排序。 - `publish_time=0`:不限发布时间。 - `filter_duration=0`:不限视频时长。 - `content_type=1`:搜索视频内容。 ### 4.3 MVP 需要字段 视频条目需要读取: ```text aweme_info.aweme_id aweme_info.desc aweme_info.author aweme_info.statistics aweme_info.create_time ``` 字段用途: - `aweme_id`:视频作品 ID,用于后续评论抓取。 - `desc`:视频标题或描述。 - `author`:作者基础信息。 - `statistics`:视频互动数据,如评论数、点赞数等。 - `create_time`:视频发布时间。 --- ## 5. 接口三:获取单个视频一级评论 ### 5.1 接口信息 ```http GET https://api.tikhub.io/api/v1/douyin/app/v3/fetch_video_comments ``` ### 5.2 MVP 请求参数 ```text aweme_id=<视频 aweme_id> cursor=0 count=20 ``` 参数含义: - `aweme_id`:视频作品 ID,来自视频搜索结果。 - `cursor=0`:第一页评论。 - `count=20`:按接口建议保持默认值。 ### 5.3 MVP 需要字段 评论条目需要读取: ```text cid / comment_id text user digg_count create_time ``` 字段用途: - `cid` 或 `comment_id`:评论 ID,用于去重和关联。 - `text`:评论正文。 - `user`:评论作者基础信息。 - `digg_count`:评论点赞数。 - `create_time`:评论发布时间。 --- ## 6. 已验证样例 本次验证中,抖音链路已成功跑通以下样例: ```text 热点标题:2026年广州中考开考 热点 query_id:2552790 视频 aweme_id:7657020050364189986 视频描述:15.1万名考生报名参加广州中考,广州首次启用智能安检门和无线电作弊防控设备 评论 ID:7657143740201812773 评论内容:湖南已放假,广东还在中考中。高考与中考不是全国统一的吗? ``` 该样例证明: 1. 可以获取抖音热点榜单。 2. 可以基于热点标题搜索到相关视频。 3. 可以从视频搜索结果中获取 `aweme_id`。 4. 可以基于 `aweme_id` 获取视频一级评论。 --- ## 7. MVP 开发结论 抖音侧 MVP 抓取链路采用: ```text 热点榜单接口 → 热点标题关键词搜索视频 → 视频评论接口 ``` 开发阶段应将外部 API 字段映射设计为可调整结构,保留原始 JSON 响应,避免后续接口字段变化时影响核心数据追溯。 MVP 阶段建议默认抓取规模: ```text Top 5 热点 × 每个热点最多 5 条视频 × 每条视频最多 50 条一级评论 ``` 正式实现中应支持配置: ```text hot_limit video_limit_per_hot comment_limit_per_video ``` --- ## 8. 后续文档衔接 本 API Spike 结果用于支撑后续文档: 1. `FeatureSummary.md`:拆解抖音抓取相关功能模块。 2. `DevelopmentPlan.md`:设计后端服务、任务流程、数据模型和异常处理。 3. `TDD`:围绕字段映射、分页、去重和任务状态编写测试。 4. `Tasks`:拆分具体开发任务。