视频号数据统计(channels-video-data)
Overview
通过 Playwright 打开视频号助手自动登录(本机微信在线则免扫码),调用数据接口拉取指定周期(上一周/上一个月/自定义范围)的经营数据,输出:
- 月度/周度 CSV:发布日期、各来源播放量(全部/推荐/分享/主页/朋友/订阅号/关注/其他)、朋友量、点赞量、评论量、分享量、关注者量、关注者总数
- 单篇 CSV:标题、封面、发布日期、播放量、完播率、平均播放时长、朋友量、点赞量、评论量、关注量、分享量
- 单篇封面图片(按发布日期命名,下载到
dist/{时间}单篇封面/,文件夹带周期时间)
产物统一放在运行目录 dist/,CSV 用中文命名(如 2026年07月视频号月度数据统计.csv)。
前置条件
- Playwright:本地项目安装
npm install playwright(浏览器 chromium 已缓存则跳过下载) - 登录态:首次运行自动打开浏览器,本机微信客户端在线时自动免扫码登录(检测 localhost.weixin.qq.com 端口);脚本自动轮询等待登录成功(最长 90s,首次无 profile 约需 10-20s);登录态持久化在运行目录
.chrome_profile/,后续免扫码且秒登 - 浏览器约定:一律用 playwright 自带 chromium,禁用
channel: 'chrome'/'msedge'
执行流程
- 将
scripts/fetch.js复制到当前工作区(与产物隔离,profile/产物都在工作区) - 工作区
npm init -y && npm install playwright(若无 node_modules) - 运行
node fetch.js,按提示输入:1= 上一周(完整自然周,周一~周日)2= 上一个月(完整自然月,1号~月末)- 自定义范围(用户补充说明时输入,如
6月/2026-06/2026-06-01~2026-06-15,静默支持,不写入提示)
- 产物生成在
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
└── ...
Scan to join WeChat group