用途:该技能通过 commentThreads.list 抓取 YouTube 公开评论线程,可选通过 comments.list 展开回复,并按可配置的 UTC 时间窗(published 或 updated 时间戳)过滤评论。输入为已知或已发现的视频 ID,不负责视频发现,也不嵌入调度或轮询循环。
主要能力:调用 youtube_comments_fetch.py 提供 check-config 与 fetch 子命令;支持 --video-ids-file 指定 JSON/JSONL 视频 ID 文件,--start-datetime 与 --end-datetime 限定时间窗,--time-field 选择时间字段,--include-replies 展开回复,--order 排序,以及 max-videos、max-thread-pages、max-reply-pages、max-threads、max-comments 等安全上限。内置瞬时失败指数退避重试、Retry-After 处理、最小请求间隔限流;并校验响应 JSON 内容类型、UTF-8 解码、JSON 对象解析、线程/评论结构与父子关联、日期字段及重复评论抑制。输出机器可读 JSON,可选保存 JSONL,支持结构化日志与日志文件,并保留条目级失败和隔离文件。
使用方式:先加载环境变量:set -a; source assets/config.env; set +a。再用 python3 scripts/youtube_comments_fetch.py check-config --pretty 校验配置;随后先用 --dry-run 做抓取计划预演,再正式抓取并指定 --output-dir、--log-level、--log-file 与 --pretty。技能调用形式为 $youtube-comments-fetch,每次调用消费一组配置好的 ID 与时间窗,推荐从 $youtube-video-search 输出通过 --video-ids-file 串联。请求回复时可向下游暴露 reply_window_completeness。
适用场景:需要按时间窗批量采集 YouTube 公开评论与回复、并将结果串接至后续分析流程的自动化任务。
限制:仅限公开评论;不进行视频发现;不含调度/轮询;需要自行配置环境变量与密钥。详细的 API 说明、YouTube 限制及链式模板见 references 下相应文档,其他具体收费或平台细节资料未提供。