返回 Skill 列表
extension
分类: 数据与分析无需 API Key

视频号作品数据统计

一键拉取微信视频号助手的经营数据并生成 CSV 统计表,比平台后台手动导出多两个独有能力:①批量下载全部作品封面 ②发布日期精确到时分秒。输出月度/周度数据统计(各来源播放量、朋友量、点赞量、评论量、分享量、关注者量、关注者总数)与单篇作品明细(标题、封面、发布日期、完播率、平均播放时长等)。当用户要视频号数据统计、月度/周度数据、单篇数据、来源分布、作品封面下载、发布日期查询时使用。触发词:视频号数据、视频号统计、月度数据、周度数据、单篇数据、来源分布、视频号封面。

person作者: user_3f399cbfhubcommunity

视频号数据统计(channels-video-data)

Overview

通过 Playwright 打开视频号助手自动登录(本机微信在线则免扫码),调用数据接口拉取指定周期(上一周/上一个月/自定义范围)的经营数据,输出:

  • 月度/周度 CSV:发布日期、各来源播放量(全部/推荐/分享/主页/朋友/订阅号/关注/其他)、朋友量、点赞量、评论量、分享量、关注者量、关注者总数
  • 单篇 CSV:标题、封面、发布日期、播放量、完播率、平均播放时长、朋友量、点赞量、评论量、关注量、分享量
  • 单篇封面图片(按发布日期命名,下载到 dist/{时间}单篇封面/,文件夹带周期时间)

产物统一放在运行目录 dist/,CSV 用中文命名(如 2026年07月视频号月度数据统计.csv)。

前置条件

  1. Playwright:本地项目安装 npm install playwright(浏览器 chromium 已缓存则跳过下载)
  2. 登录态:首次运行自动打开浏览器,本机微信客户端在线时自动免扫码登录(检测 localhost.weixin.qq.com 端口);脚本自动轮询等待登录成功(最长 90s,首次无 profile 约需 10-20s);登录态持久化在运行目录 .chrome_profile/,后续免扫码且秒登
  3. 浏览器约定:一律用 playwright 自带 chromium,禁用 channel: 'chrome'/'msedge'

执行流程

  1. scripts/fetch.js 复制到当前工作区(与产物隔离,profile/产物都在工作区)
  2. 工作区 npm init -y && npm install playwright(若无 node_modules)
  3. 运行 node fetch.js,按提示输入:
    • 1 = 上一周(完整自然周,周一~周日)
    • 2 = 上一个月(完整自然月,1号~月末)
    • 自定义范围(用户补充说明时输入,如 6月 / 2026-06 / 2026-06-01~2026-06-15,静默支持,不写入提示)
  4. 产物生成在 dist/
    • {时间}视频号{月度|周度}数据统计.csv — 横向大宽表
    • {时间}视频号单篇数据统计.csv — 21列作品明细
    • {时间}单篇封面/ — 每作品 1 张正式封面(coverUrl),文件夹带周期时间,文件按发布日期命名

字段映射(业务口径,勿混淆)

| 业务列 | 接口字段 | 说明 | |---|---|---| | 播放量 | browse / readCount | | | 朋友量 | like / likeCount | 注意:不是朋友♡来源播放 | | 点赞量 | fav / favCount | 注意:不是 like | | 评论量 | comment / commentCount | | | 分享量 | forward / forwardCount | | | 关注者量 | follow / followCount | | | 关注者总数 | fansNum | get-finder-total-statics |

关键实现要点

  • 时间戳:用 Math.floor(new Date('YYYY-MM-DDTHH:mm:ss+08:00').getTime()/1000) 计算,勿手算;无 60 天限制(实测 235 天可用)
  • 月度统计接口 new_post_total_data:传 startTs/endTs/interval:3(interval=3 返回按日序列,求和即周期汇总)。endTs 是闭区间含当天:取 7 月整月必须传 endTs=7/31(最后一天),传 8/1 会多算 8/1 数据
  • 单篇列表接口 post_list:必须用 micro/statistic 前缀 URL + x-wechat-uin/finger-print-device-id/referer 头 + scene:7,否则返回 export 格式 objectId 且单篇来源接口报 300999;翻页用 currentPage 递增
  • 动态鉴权(账号无关)_log_finder_id/x-wechat-uin/finger-print-device-id 由脚本监听页面真实请求自动捕获,不要硬编码(换账号必失效)
  • 接口重试:登录态刚建立时接口偶发失败,脚本自动重试 3 次
  • 动态鉴权(账号无关)_log_finder_id/x-wechat-uin/finger-print-device-id 由脚本监听页面真实请求自动捕获,不要硬编码(换账号必失效)
  • 接口重试:登录态刚建立时接口偶发失败,脚本自动重试 3 次
  • "其他"来源 = tabType 0 + 15(PC微信) + 25(看一看) 合并
  • 窗口最大化viewport:null + args:['--start-maximized']
  • CSV 写 UTF-8 BOM(Excel 不乱码),被占用时重试

详细接口参数与坑见 references/api.md

产物示例

dist/
├── 2026年07月视频号月度数据统计.csv    ← 发布日期,全部播放量,推荐播放量,...,朋友量,点赞量,评论量,分享量,关注者量,关注者总数
├── 2026年07月视频号单篇数据统计.csv    ← 标题,封面,发布日期,播放量,完播率,平均播放时长(秒),朋友量,点赞量,评论量,关注量,分享量
└── 2026年07月单篇封面/
    ├── 20260701_120000.jpg
    └── ...