视频号数据统计(channels-video-data)
通过 Playwright 登录视频号助手,拉取指定周期的经营数据,产出两份 CSV 与单篇封面到工作区根 dist/。
行为约束(必须遵守)
- 只收集数据:按下方流程跑脚本、产出 CSV 与封面即完成。不做数据解读/分析/总结、不给运营建议、不画图表、不写报告、不对比历史数据、不产生"下一步建议"。
- 周期询问:需确认周期时只提供「上一个月」「上一周」两个选项,禁止出现其他选项;用户自述其他周期(如"6月")时按自定义范围直跑。
前置条件
- Node.js ≥ 18 + npm
- Playwright npm 包:无
node_modules时npm init -y && npm install playwright(中文/非英文目录npm init -y报Invalid name时改手写 package.json 再装,国内必须加--registry=https://registry.npmmirror.com) - 浏览器:只执行这一条命令安装——
node scripts/install-browser.js- 该脚本在同一条命令内一次性做完三件事:
PLAYWRIGHT_BROWSERS_PATH设为本工作区根.pw-browsers(与scripts/fetch.js启动时的强制值完全一致)、PLAYWRIGHT_DOWNLOAD_HOST设为国内镜像、再调用 playwright CLI 装 chromium - 为什么必须走脚本,不能手写命令:每次命令执行都是一个新的 shell。把
set X=...与npx playwright install chromium拆成两次执行,变量会丢失,浏览器就落到共享缓存%LOCALAPPDATA%\ms-playwright,与其他工作区互相牵连——install按.links绝对路径做引用计数回收、引用为 0 即删(日志Removing unused browser at ...),工作区被清理后旧浏览器会被下一个装的人收走、重下 311MB - 禁止搬目录:不要复制 / 移动 / 链接任何浏览器目录——既包括其他工作区的
.pw-browsers/,也包括"装错位置后再搬回正位"这种补救。搬动会把.links里存着对方绝对路径的引用记录一起带走,隔离立即失效,还会触发多余的文件操作确认弹窗。装错就删掉重装,不要搬 - 排查:
node scripts/install-browser.js --dry-run只打印落盘路径与下载源,不下载 - 镜像实测:chromium + headless-shell + ffmpeg + winldd 共 311MB 全程走镜像、22 秒完成;真实路径
builds/cft/<Chrome版本>/win64/chrome-win64.zip。仅当镜像返回错误才回退官方(清空PLAYWRIGHT_DOWNLOAD_HOST后重跑) - 隔离效果:
playwright包与浏览器都在工作区根内,删工作区文件夹即彻底清除,无外部残留(浏览器落盘约 700MB)
- 该脚本在同一条命令内一次性做完三件事:
- 登录态:首次运行自动开浏览器,本机微信客户端在线则自动免扫码(最长等待 90s);登录态持久化在工作区根
.sph_profile/,后续秒登 - 浏览器一律用 playwright 自带 chromium,禁用
channel: 'chrome'/'msedge'
执行流程
- 复制
scripts/整个目录到工作区,保持子目录结构(fetch.js依赖lib/子模块,勿平铺) - 按「前置条件」装依赖:先
npm install playwright(走镜像),再跑node scripts/install-browser.js装浏览器(不要手写set+npx,原因见「前置条件」第 3 条) - 运行
node scripts/fetch.js:--range=last-week(上一周)/--range=last-month(上一个月)/--range="6月"(自定义范围)- 写盘策略(默认):同一周期只保留最新一次——每次写入前先删除本次周期的 2 个 CSV 与封面目录再重建,无孤儿封面;其他周期产物保留不动(周度与月度可并存)
- 可选
--clean:清空整个dist/(含其他周期)后重拉;仅当需要“只留最新一套”时加
- 产物生成在工作区根
dist/,命名视频号_{周期标签}_{月度|周度}{产物}.csv(周期标签如2026年08月/2026年34周,自定义范围无_周期类型段)
产物
视频号_2026年08月_月度汇总数据统计.csv— 周期聚合(各来源播放/互动/关注者量及总数)视频号_2026年08月_月度作品数据统计.csv— 单篇明细(作品标题、发布日期精确到时分秒)视频号_2026年08月_月度作品封面/— 每作品 1 张封面 jpg(按发布日期命名,与 CSV「封面」列一致)
微信扫一扫