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 次 |
推荐抓取路径:
- 登录后进入
https://creator.douyin.com/creator-micro/content/manage
- 点击"数据详情"展开单条视频数据
- 拦截网络请求
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 分钟),长时任务需重新生成或刷新页面 |
推荐抓取路径:
- 登录后访问
https://creator.xiaohongshu.com/statistics/video
- 选择时间维度(近 7 天 / 30 天)
- 分页获取笔记列表,再逐条进入详情页获取深度数据
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. 参考来源
- 抖音创作者服务中心官方文档: https://developer.open-douyin.com/
- 小红书开放平台: https://open.xiaohongshu.com/
- B站 API 文档 (非官方整理): https://github.com/SocialSisterYi/bilibili-API-collect
- YouTube Data API v3: https://developers.google.com/youtube/v3
- YouTube Analytics API: https://developers.google.com/youtube/analytics
- 快手开放平台: https://open.kuaishou.com/
- 微信视频号助手: https://channels.weixin.qq.com/
- Playwright 官方文档: https://playwright.dev/
- ArenaSK OpenClaw Plugin System:
server/src/plugins/plugin-manager.js
- ArenaSK Agent Bridge:
server/src/plugins/agent-bridge.js