knowhow_v1.md 14.8 KB

Data-Harvester 全量数据收集 — 深度调研报告 (v1)

目标 Agent: data-harvester
技能领域: 全量数据收集(利用 OpenClaw 登录各平台后台,抓取播放量、完播率、CTR 及用户评论情感)
版本: v1.0
生成时间: 2026-04-09


1. 概述

data-harvester 的核心使命是通过 OpenClaw 浏览器自动化框架,登录抖音、小红书、B站、视频号、YouTube、快手等内容平台的创作者后台,结构化采集内容表现数据与用户反馈数据。本报告系统梳理各平台后台的数据入口、OpenClaw 的集成规范、关键指标定义以及合规风控策略,为后续 Digest / Evolve 阶段提供知识基座。


2. 主要平台数据抓取方法论

2.1 抖音创作者服务中心 (creator.douyin.com)

属性 说明
登录方式 手机号 + 验证码 / 扫码登录
数据入口 https://creator.douyin.com/creator-micro/home → 内容管理 / 数据看板
可采字段 播放量、完播率、平均播放时长、互动率(点赞/评论/分享/收藏)、粉丝净增、CTR(封面点击率)
接口特征 内部 GraphQL/API (aweme/v1/...),返回加密 JSON,需携带 sessionid Cookie
OpenClaw 策略 预录登录流程 → 保存 Cookie Session → 定时刷新内容列表页 → 拦截 XHR 响应提取数据
注意点 频繁刷新会触发二次验证(滑块/人脸识别);建议单账号日请求 ≤ 200 次

推荐抓取路径:

  1. 登录后进入 https://creator.douyin.com/creator-micro/content/manage
  2. 点击"数据详情"展开单条视频数据
  3. 拦截网络请求 aweme/v1/web/data/fetch 或解析页面内嵌 window._SSR_HYDRATED_DATA

2.2 小红书创作者中心 (creator.xiaohongshu.com)

属性 说明
登录方式 手机号 + 验证码 / 小红书 APP 扫码
数据入口 https://creator.xiaohongshu.com/statistics/video
可采字段 阅读数、点赞数、收藏数、评论数、分享数、完播率、粉丝增长、笔记成交转化率
接口特征 REST API (/api/galaxy/statistics/...),需 web_session Cookie + X-Sign 签名
OpenClaw 策略 Cookie 复用 + 定时轮询 API;X-Sign 可通过页面内 JS 生成或通过代理拦截
注意点 X-Sign 有失效时间(约 30 分钟),长时任务需重新生成或刷新页面

推荐抓取路径:

  1. 登录后访问 https://creator.xiaohongshu.com/statistics/video
  2. 选择时间维度(近 7 天 / 30 天)
  3. 分页获取笔记列表,再逐条进入详情页获取深度数据

2.3 B站创作中心 (member.bilibili.com)

属性 说明
登录方式 账号密码 / 扫码 / Cookie (SESSDATA)
数据入口 https://member.bilibili.com/platform/upload-manager/article → 数据中心
可采字段 播放量、弹幕数、评论数、硬币数、收藏数、分享数、完播率、播放来源分布、粉丝活跃时段
接口特征 公开/半公开 API (api.bilibili.com/x/...),部分请求需 SESSDATA + CSRF Token
OpenClaw 策略 直接调用 API(无需渲染),效率最高;可用 fetch interceptor 批量获取
注意点 API 对非大会员账号有速率限制,建议间隔 ≥ 2 秒

推荐 API 端点:

  • 稿件列表: GET https://member.bilibili.com/x/web/archive/stat
  • 数据概览: GET https://api.bilibili.com/x/creator/archives/revenue/overview
  • 粉丝数据: GET https://api.bilibili.com/x/relation/stat?vmid={mid}

2.4 视频号助手 (channels.weixin.qq.com)

属性 说明
登录方式 微信扫码(需管理员/运营者权限)
数据入口 https://channels.weixin.qq.com/platform/post/list
可采字段 播放量、点赞数、评论数、转发数、收藏数、完播率、关注转化数、商品点击数
接口特征 内部 API,返回 Protobuf/JSON,需 session_key 和 x-wechat-uin
OpenClaw 策略 扫码登录后保持 Session Alive(每 15 分钟轮询一次心跳),通过页面 DOM + XHR 拦截双通道采集
注意点 微信生态风控极严,异地登录/新设备登录易触发 24h 冻结;建议使用常驻浏览器 Profile

2.5 YouTube Studio (studio.youtube.com)

属性 说明
登录方式 Google 账号 OAuth / 应用密码(已逐步取消,推荐 OAuth2)
数据入口 https://studio.youtube.com/channel/{channel_id}/analytics/tab-overview
可采字段 Views、Watch time (hours)、Average view duration、CTR、Impressions、Unique viewers、Subscribers gained/lost
接口特征 YouTube Analytics API (官方)、YouTube Data API v3、Studio 内部 Innertube API
OpenClaw 策略 优先 OAuth2 官方 API(配额制,日 10,000 units);对于未开放字段,使用 Studio 页面自动化补采
注意点 官方 API 是成本最低、稳定性最高的方案;页面自动化仅作为 API 未覆盖字段的补充

推荐 API 端点:

  • GET https://www.googleapis.com/youtube/v3/videos?part=statistics,snippet&id={video_id}
  • GET https://youtubeanalytics.googleapis.com/v2/reports?ids=channel=={channel_id}&metrics=views,estimatedMinutesWatched,averageViewDuration,subscribersGained

2.6 快手创作者服务平台 (cp.kuaishou.com)

属性 说明
登录方式 快手 APP 扫码 / 手机号
数据入口 https://cp.kuaishou.com/article/manage/video
可采字段 播放量、播放完成率、点赞数、评论数、分享数、粉丝增长、直播相关数据、收益数据
接口特征 内部 REST API (/rest/...),需 did、kuaishou.server.web_st 等 Cookie
OpenClaw 策略 扫码登录 → Cookie 持久化 → 轮询作品列表 API → 逐条获取详情
注意点 快手风控对 IP 和 User-Agent 敏感,建议配合住宅代理

3. OpenClaw 使用规范

3.1 核心概念

OpenClaw 是 ArenaSK 系统集成的浏览器自动化与插件编排框架,底层基于 Playwright + 自定义插件系统。它允许 Agent 通过声明式配置或脚本代码,控制浏览器执行登录、导航、点击、数据提取等操作。

概念 说明
Channel 平台通道(如 feishu、discord、web)。在 data-harvester 场景中,通常用 web 通道控制无头浏览器。
Plugin 扩展插件,封装特定平台的登录和采集逻辑。
Session 浏览器上下文(Context),包含 Cookie、LocalStorage、登录态。
Tool OpenClaw 暴露给 Agent 可调用的原子操作(如 web_navigate, web_click, web_extract)。

3.2 配置与启动

在 ArenaSK 中,OpenClaw 通过 server/src/plugins/plugin-manager.js 初始化。data-harvester 无需直接修改服务器代码,而是通过调用系统提供的 l1-shell-exec 或 l1-web-fetch 工具,运行基于 Playwright 的采集脚本。

标准的 OpenClaw/Playwright 采集脚本结构:

from playwright.sync_api import sync_playwright
import json, time, os

COOKIE_FILE = "/tmp/douyin_session.json"
DATA_FILE = "/tmp/douyin_data.json"

def run():
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=True)
        context = browser.new_context(
            viewport={"width": 1280, "height": 800},
            user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
        )
        # 加载已有 Session
        if os.path.exists(COOKIE_FILE):
            with open(COOKIE_FILE) as f:
                cookies = json.load(f)
            context.add_cookies(cookies)

        page = context.new_page()
        page.goto("https://creator.douyin.com/creator-micro/content/manage")
        time.sleep(5)

        # 检查登录态,如未登录则调用扫码/短信登录流程
        # ...

        # 提取数据(通过 page.evaluate 读取 window 变量或 DOM 解析)
        data = page.evaluate("() => window._SSR_HYDRATED_DATA")

        # 保存 Session
        cookies = context.cookies()
        with open(COOKIE_FILE, "w") as f:
            json.dump(cookies, f)

        with open(DATA_FILE, "w") as f:
            json.dump(data, f, ensure_ascii=False)

        browser.close()

if __name__ == "__main__":
    run()

3.3 Agent 集成方式

data-harvester 作为 Specialist Agent,通常由 Master Agent 通过 dispatch_task 派发采集指令。指令中应包含:

  • platform: 目标平台(douyin/xiaohongshu/bilibili/youtube/...)
  • date_range: 时间范围
  • metrics: 需要采集的指标列表
  • output_path: 结果输出路径(../../workspace/data-harvester/)

3.4 错误处理与重试

错误类型 处理策略
登录态失效 1. 尝试刷新 Cookie;2. 若失败,标记 AUTH_REQUIRED 并通知上级
风控拦截(滑块/验证码) 1. 降低频率;2. 切换代理;3. 启用人工介入通道(通知运营)
页面元素缺失 1. 增加 wait_for_selector 超时;2. 截图存档便于排查 DOM 变更
网络超时 指数退避重试(2s → 5s → 10s)
数据格式变更 记录错误日志,截取页面源码样本,供 Digester 迭代解析规则

4. 关键指标定义

4.1 播放类指标

指标 英文/缩写 定义
播放量 Views / Plays 内容被播放的总次数。同一用户多次播放通常累计。
完播率 Completion Rate 完整观看内容的人数 ÷ 总播放人数 × 100%。部分平台定义为观看时长达某一阈值(如 80%)即算完播。
平均播放时长 Avg. View Duration 所有播放时长的算术平均值。
播放完成率 Play-through Rate often synonymous with Completion Rate; 具体口径因平台而异。

4.2 互动类指标

指标 英文/缩写 定义
点赞数 Likes 用户点击"喜欢"/"赞"的次数。
评论数 Comments 内容下方的评论条数(部分平台含楼中楼,需明确是否去重)。
分享/转发数 Shares 用户通过站内或站外渠道转发的次数。
收藏数 Saves / Favorites 用户将内容加入个人收藏夹的次数。
互动率 Engagement Rate (点赞+评论+分享+收藏) ÷ 播放量 × 100%。部分平台分母用曝光量。

4.3 转化类指标

指标 英文/缩写 定义
点击率 CTR (Click-Through Rate) 内容被点击产生的后续行为次数 ÷ 曝光次数 × 100%。在短视频平台常指"封面点击率"。
关注转化率 Follow Conversion Rate 观看内容后新增关注的人数 ÷ 观看人数 × 100%。
商品点击数 Product Clicks 内容挂载商品链接被点击的次数。
成交额 GMV 通过内容引导产生的成交金额。

4.4 评论情感指标

指标 定义 计算方法
情感极性 Positive / Neutral / Negative 基于 NLP 模型(如 BERT 情感分类)对评论文本打分。
情感得分 Sentiment Score 通常映射到 [-1, 1] 区间,>0 为正面,
高频关键词 Keyword Cloud 对评论进行分词、停用词过滤、TF-IDF 加权后提取 Top N 词。
用户痛点 Pain Points 负面评论中围绕功能、体验、价格的聚类主题。

5. 合规风控

5.1 平台规则与账号安全

  • 账号分级: 重要账号(大号/MCN 主账号)与采集专用小号分离,避免主账号因采集行为被封禁。
  • 异地登录保护: 创作者后台对异地/新设备登录极度敏感。建议:
    • 使用与账号注册地一致的代理 IP。
    • 维护常驻浏览器 Profile,避免每次从头登录。
    • 扫码登录优先于密码登录(密码登录更易触发风控)。
  • 频率控制:
    • 普通页面请求间隔 ≥ 3 秒。
    • 高频后台(如抖音、视频号)间隔 ≥ 5 秒。
    • 单账号日请求量 ≤ 200 次(抖音/视频号);B站 API 可放宽至 500 次。

5.2 数据采集伦理边界

  • 仅采集自己/授权账号的数据: data-harvester 的设计初衷是帮助内容创作者或 MCN 机构采集自有内容数据,而非爬取他人隐私数据。
  • 遵守 robots.txt: 对于可公开访问的页面(如 B站视频页),采集前检查 robots.txt。
  • 隐私脱敏: 若采集评论数据涉及用户昵称和头像,输出时应做哈希化或 ID 化脱敏处理。
  • 数据用途透明: 采集的数据仅用于内容优化和运营决策,禁止二次售卖给第三方。

5.3 反爬应对策略

策略 实施方式
User-Agent 轮换 维护 5-10 个真实浏览器 UA,按请求轮询。
代理池 使用住宅代理(如 Bright Data、Oxylabs)轮换出口 IP。
浏览器指纹模拟 通过 Playwright 的 stealth 插件隐藏 navigator.webdriver 等自动化特征。
行为仿真 在页面间加入随机滚动、停留、鼠标移动,模拟真实用户行为。
验证码降级 抖音/快手出现滑块时,退回 Playwright 人工模式或调用外部打码服务(如 2Captcha)。

6. 工具矩阵速查表

用途 推荐工具/库 说明
浏览器自动化 Playwright (Python/Node.js) OpenClaw 底层依赖,功能完整、社区活跃。
表单登录/扫码 playwright + qrcode (终端扫码) 抖音/小红书/快手常用终端扫码登录。
API 请求 Python requests / Node axios B站/YouTube 官方 API 直调。
数据提取 BeautifulSoup / Cheerio / regex HTML 解析与结构化提取。
情感分析 transformers (Hugging Face) / 百度 NLP API 用于评论情感分类。
中文分词 jieba / pkuseg 评论关键词提取。
代理服务 Bright Data / Oxylabs / 自建代理池 住宅代理效果最佳。
数据存储 SQLite / JSON Lines / CSV 轻量级本地存储,便于后续处理。

7. 参考来源

  1. 抖音创作者服务中心官方文档: https://developer.open-douyin.com/
  2. 小红书开放平台: https://open.xiaohongshu.com/
  3. B站 API 文档 (非官方整理): https://github.com/SocialSisterYi/bilibili-API-collect
  4. YouTube Data API v3: https://developers.google.com/youtube/v3
  5. YouTube Analytics API: https://developers.google.com/youtube/analytics
  6. 快手开放平台: https://open.kuaishou.com/
  7. 微信视频号助手: https://channels.weixin.qq.com/
  8. Playwright 官方文档: https://playwright.dev/
  9. ArenaSK OpenClaw Plugin System: server/src/plugins/plugin-manager.js
  10. ArenaSK Agent Bridge: server/src/plugins/agent-bridge.js