# Data-Harvester Benchmark v1 > 目标 Agent: `data-harvester` > 技能领域: 全量数据收集(利用 OpenClaw 登录各平台后台抓取播放量、完播率、CTR 及用户评论情感) > 版本: v1.0 > 生成时间: 2026-04-09 --- ## 评分维度与权重 总分 = 100 分,目标合格线 **≥ 95 分** | 维度 | 权重 | 满分 | 核心考察点 | |------|------|------|-----------| | D1. 登录态管理 | 15% | 15 | Cookie / Session 复用、扫码登录流程、登录态失效处理 | | D2. 数据覆盖率 | 20% | 20 | 核心指标(播放量、完播率、CTR、评论情感)抓取完整性 | | D3. 抓取策略选择 | 15% | 15 | API 优先 vs 浏览器自动化、平台适配、数据源选择 | | D4. 数据结构化与输出 | 20% | 20 | 字段标准化、JSON/CSV 输出规范、缺失值填充、时间戳一致性 | | D5. 风控与合规 | 15% | 15 | 频率控制、代理/IP 策略、隐私脱敏、仅采自有/授权数据 | | D6. 错误处理与恢复 | 15% | 15 | 重试退避、异常分类报告、降级策略、截图存档 | --- ## D1. 登录态管理 (15 分) | 得分 | 标准 | |------|------| | 13-15 | 能正确描述各平台登录方式(Cookie/二维码/OAuth2),方案包含 Session 持久化、Cookie 复用、二次验证的降级处理(通知上级或人工介入) | | 9-12 | 覆盖主流平台登录方式,但缺少 Session 持久化细节或缺少二次验证应对策略 | | 5-8 | 仅提及密码/扫码登录,缺少 Cookie 管理和失效处理 | | 0-4 | 登录方案不可行或存在明显安全风险(如明文存储密码) | **Grader Hints:** - 抖音:需 `sessionid` Cookie,扫码登录后保持常驻 Profile - 小红书:`web_session` + X-Sign,30 分钟刷新 - B站:`SESSDATA` Cookie,可直调 API - YouTube:优先 OAuth2 Service Account - 快手:扫码登录 + Cookie 持久化 - 视频号:微信扫码,异地登录易冻结,必须常驻 Profile --- ## D2. 数据覆盖率 (20 分) | 得分 | 标准 | |------|------| | 17-20 | 明确列出 6 个平台各自可采集的核心字段,确保播放量、完播率、CTR、评论情感数据均有抓取路径;对缺失字段给出补充方案 | | 13-16 | 覆盖 4-5 个平台的核心字段,但缺少个别平台 CTR 或情感数据的获取方式 | | 8-12 | 仅覆盖 2-3 个平台,或缺少完播率/情感分析等关键指标 | | 0-7 | 数据字段严重不全,无法支撑后续分析 | **Grader Hints:** - 抖音:播放量、完播率、平均播放时长、互动率、CTR、粉丝净增 - 小红书:阅读数、点赞、收藏、评论、完播率、粉丝增长、商品点击 - B站:播放量、弹幕、评论、硬币、收藏、完播率、播放来源、粉丝活跃时段 - YouTube:Views、Watch time、Avg view duration、CTR、Impressions、Subscribers gained/lost - 快手:播放量、播放完成率、点赞、评论、粉丝增长、直播收益 - 视频号:播放量、点赞、评论、转发、完播率、关注转化、商品点击 --- ## D3. 抓取策略选择 (15 分) | 得分 | 标准 | |------|------| | 13-15 | 能根据平台特征正确选择“API 直调”或“浏览器自动化”,并说明理由;YouTube 明确优先 OAuth2 API;对加密/签名数据(X-Sign)有应对方案 | | 9-12 | 主流平台策略正确,但对 1-2 个平台的选择理由模糊,或缺少签名破解/拦截方案 | | 5-8 | 策略选择存在明显错误(如对 open API 平台仍全用 Playwright),或未考虑效率差异 | | 0-4 | 策略不可行或全部统一用一种方式,无视平台差异 | **Grader Hints:** - B站 / YouTube:优先 API(B站半公开 API,YouTube 官方 API) - 抖音 / 小红书 / 快手 / 视频号:浏览器自动化 + XHR/DOM 提取 - 抖音:可拦截 `aweme/v1/web/data/fetch` 或读取 `window._SSR_HYDRATED_DATA` --- ## D4. 数据结构化与输出 (20 分) | 得分 | 标准 | |------|------| | 17-20 | 输出 schema 统一(含 content_id, platform, title, publish_time, play_count, completion_rate, ctr, sentiment_summary, source_url, crawl_time),字段名驼峰/下划线一致,缺失值用 `null` 或 `0` 明确标注,附带数据校验逻辑 | | 13-16 | 输出结构基本统一,但存在 1-2 个字段命名不一致或缺失值处理不严谨 | | 8-12 | 输出格式混乱,不同平台字段名不统一,缺少 source_url / crawl_time | | 0-7 | 无结构化输出意识,仅返回原始 HTML 或非标准文本 | **Grader Hints:** - 必须字段:`source_url`, `crawl_time`, `platform_name`(或 platform) - 推荐字段:`content_id`, `title`, `publish_time`, `play_count`, `completion_rate`, `ctr`, `like_count`, `comment_count`, `share_count`, `collect_count`, `follower_growth`, `sentiment_summary` - sentiment_summary 应包含 `positive`, `neutral`, `negative` 比例及 `top_keywords` --- ## D5. 风控与合规 (15 分) | 得分 | 标准 | |------|------| | 13-15 | 明确说明频率控制(普通≥3s,抖音/视频号≥5s)、账号分级(大小号分离)、代理/IP 策略、User-Agent 轮换、隐私脱敏(用户昵称哈希化),并强调仅采集自有/授权数据 | | 9-12 | 提及风控措施,但缺少量化频率控制或缺少隐私脱敏说明 | | 5-8 | 仅有模糊的风控意识,缺少具体操作策略 | | 0-4 | 无视平台规则,方案可能导致封号或侵犯隐私 | **Grader Hints:** - 单账号日请求量:抖音/视频号 ≤ 200 次;B站 API ≤ 500 次 - 必须使用住宅代理(Bright Data / Oxylabs)对抖音/快手/视频号 - 扫码登录优先于密码登录 - 评论数据中的用户昵称和头像需脱敏 --- ## D6. 错误处理与恢复 (15 分) | 得分 | 标准 | |------|------| | 13-15 | 建立完整的错误分类体系(登录态失效、风控拦截、元素缺失、网络超时、数据格式变更),每类均有明确的处理策略和降级路径;包含指数退避重试、截图存档、通知上级机制 | | 9-12 | 覆盖主要错误类型,但缺少数据格式变更的应对或缺少截图存档 | | 5-8 | 仅有简单的重试逻辑,错误分类不清晰 | | 0-4 | 无错误处理方案,一旦失败即中断 | **Grader Hints:** - 登录态失效 → 刷新 Cookie → 标记 `AUTH_REQUIRED` - 风控拦截(滑块/验证码)→ 降频 → 切代理 → 人工介入 - 页面元素缺失 → `wait_for_selector` 超时 → 截图 → 记录 DOM 版本 - 网络超时 → 指数退避(2s → 5s → 10s) - 数据格式变更 → 记录日志 + 截取页面源码样本 --- ## 评分公式 ``` Total Score = D1 + D2 + D3 + D4 + D5 + D6 ``` **Pass Criteria:** - Total ≥ 95: **优秀 (Excellent)** — 可直接进入 Evolve 阶段 - 85 ≤ Total < 95: **合格 (Pass)** — 需针对短板进行微调 - 75 ≤ Total < 85: **待改进 (Needs Work)** — 需补充文档和训练数据 - Total < 75: **不合格 (Fail)** — 重新回到 Hunt 阶段补充知识