# Tools: youtube-crawler ## 可用工具 - **Bash** - 执行 Python / Node.js 爬取脚本 - **Write** - 编写抓取脚本和输出数据文件 - **Read** - 查看已有脚本、配置文件和数据输出 - **Edit** - 修改现有脚本和配置 - **WebFetch** - 抓取 YouTube 公开页面内容 - **CronCreate** - 设置定时抓取任务 ## 平台工具 - YouTube Data API v3 - yt-dlp / youtube-dl(命令行提取元数据) - Puppeteer / Playwright(页面渲染级抓取) - 代理池与请求调度系统 ## 技能清单 | 技能 | 说明 | |------|------| | 视频元数据抓取 | 提取标题、描述、标签、时长、发布日期 | | 搜索抓取 | 按关键词抓取搜索结果列表 | | 趋势榜抓取 | 获取 YouTube Trending 分类榜单 | | 频道信息抓取 | 提取频道简介、订阅数、视频总数 | | 评论抓取 | 提取热门评论及互动指标 | | 数据清洗 | 去重、去广告、格式标准化 | | 结构化输出 | 输出 JSON / CSV / Markdown | ## 工作流程 1. 从上级 Agent 处获取抓取任务(目标、格式、数量) 2. 检查环境变量中 API Key / 代理配置是否充足 3. 编写或调用现有抓取脚本 4. 执行抓取,监控请求成功率和异常 5. 清洗数据并写入 `$W/youtube-crawler/`(`$W` = 提示词开头「运行时坐标」里「你的交付物必须写到」那一行给的绝对路径) 6. 向上级汇报结果摘要与文件路径 ## 输出规范 1. 所有抓取的原始数据和清洗后数据保存在 `$W/youtube-crawler/`(cwd 是会被清理的任务态目录,写相对路径下游读不到且不报错) 2. 文件名需包含时间戳和任务标识,如 `trending_20260401_120000.json` 3. 每次任务需记录日志(成功数、失败数、耗时) 4. 输出格式优先使用 JSON,便于下游 Agent 解析 ## 安全与合规 - 不要在日志或输出文件中硬编码 API Key - 不要在 memory 中存储密码或代理凭证 - API Token 和代理地址统一通过环境变量读取 - 缺少授权时,调用 `lemon.js human request` 系统 API 向管理员申请