微信视频号弹幕抓取工具wxlivespy技术内核:从“扫码开播“到数据送达,中间只差一次请求监听

发布时间:2026/8/20 2:28:50

微信视频号弹幕抓取工具wxlivespy技术内核:从“扫码开播“到数据送达,中间只差一次请求监听
微信视频号弹幕抓取工具wxlivespy技术内核从扫码开播到数据送达中间只差一次请求监听【免费下载链接】wxlivespy微信视频号直播间弹幕信息抓取工具项目地址: https://gitcode.com/gh_mirrors/wx/wxlivespy如果你是做直播带货代运营、弹幕互动游戏开发或者给主播做数据复盘的人大概率遇到过这样的痛苦视频号的直播间数据仿佛在一个黑盒里——官方后台只能看到粗糙的观看人数和点赞总数想要弹幕原文、送礼明细、用户进场的实时流官方没给接口人工录屏又慢又不全。wxlivespy 正是冲着这个缺口来的。这是一款开源的微信视频号弹幕抓取工具基于 Electron 桌面壳 Puppeteer 浏览器自动化 TypeScript 编写能在你点下开始监听后实时抓取直播间里的评论、进入、送礼、连击送礼、点赞、等级提升等互动事件并一键转发到你指定的 HTTP 地址。它不侵入微信、不改协议只是站在浏览器的肩膀上看数据流这也是它最聪明的设计。图1wxlivespy 的监听与转发界面。左侧开始监听拉起浏览器右侧设置转发地址后弹幕与礼物数据就会实时推送到目标服务。跑起来要什么条件为什么这么设计工具只发布并测试过 Windows 64 位其他系统属于未验证状态。启动前有一个关键前置动作npm install装完依赖后Puppeteer 会在C:\Users\你的用户名\.cache\puppeteer\chrome下缓存一份 Chrome把它复制到项目的assets\puppeteer_chrome目录工具启动时就会直接加载这份浏览器。为什么这么绕核心原因是微信视频号管理后台必须在真实浏览器里扫码登录而 headless 模式很容易被风控识别。所以 wxlivespy 选择了headless: false拉起一个看得见的 Chrome 窗口扫码登录后所有直播数据会通过这个浏览器流出——它要做的只是旁听。开发环境npm start生产打包npm run package都是标准 Electron 流程上手门槛不高。数据从哪来、经过谁、到哪去一条流水线讲透整个项目的数据流可以压缩成一句话浏览器发出的每一个响应先过滤、再解码、再补全身份、最后转发。对应代码里三个核心文件拦截——src/main/listener.ts中的WXLiveEventListener解码——src/main/WXDataDecoder.ts中的WXDataDecoder转发——src/main/service.ts中的SpyServicesrc/main/EventForwarder.tsWXLiveEventListener启动后通过page.setRequestInterception(true)打开请求拦截并监听page.on(response)。但这里有个细节值得学习它不是所有响应都接而是做了两道闸门。按 Content-Type 过滤skipContentTypevideo、image、audio开头的直接放行text/css、application/javascript、font/woff这类静态资源也直接跳过只留结构化数据避免解析压力全压在视频流上。按 URL 过滤skipURL目前只处理包含mmfinderassistant-bin/live/msg的请求——这是视频号直播间消息接口的特征路径其他接口即使命中也不处理。通过两道闸门的响应会取出response.json()、请求头里的x-wechat-uin主播标识、POST body 里的finderUsername一起交给decodeDataFromResponse做结构化解码。解码产物是一个DecodedData对象包含三块live_info在线人数、点赞总数、微信币打赏总额等直播间状态、host_info主播信息、events事件数组。其中live_info会被onStatusUpdate推给界面显示同时塞进一个内置的 HTTP 小服务——SpyHttpServer默认监听21201端口外部系统随时GET /getLiveStatus就能拉到直播间实时状态相当于白送一个轻量 API。而events则进入decodeOpenIDInEvents做身份补全再交给EventForwarder转发。四个有技术含量的细节逐个拆开看1. 七种事件类型靠 msgType 精准分流解码器里最核心的分派逻辑在liveMessageFromMsg和liveMessageFromAppMsg两个方法。直播间数据分两条消息通道msgList走普通消息通道appMsgList走业务消息通道两边的类型判断字段不一样。msgList里type 1是评论type 10005是用户进入appMsgList里msgType 20009是单次送礼、20013是连击送礼、20006是点赞、20031是等级提升。送礼和连击的数据藏在 base64 编码的payload字段里解码时先Buffer.from(o.payload, base64)还原出 JSON再从中抽出reward_product_id、reward_product_count、reward_amount_in_wecoin单位是微信币等字段。识别不了的统一归为unknown并把原始数据原样塞进original_data保留——这种解码不了就保留现场的做法给协议升级留了后路。2. 跨场次用户追踪decoded_openid才是真身份这是整个项目技术含量最高的点。原始数据里的sec_openid在不同直播场次之间是会变的拿来追踪用户根本不可靠。但 wxlivespy 发现了一个稳定字段对进入和评论消息msg_id形如finderlive_usermsg_comment_..._o9hHn5apfwHL-RYrxochETS7NyDMgetOpenIDFromMsgId直接把_o9h之后的部分截出来就是同一个主播的不同直播场次都不变的decoded_openid对送礼类消息msg_id形如finderlive_appmsg_finderlive_commcommentnotify_..._b2afac411cfad2d6f5fe69e1c2ec3901getSecOpenIDFromMsgId按_切分取最后一段得到sec_openid的十六进制 ID再映射到已缓存的decoded_openid。再配合src/main/idcache.ts里那张Map——键是liveId-secOpenId值是decodedOpenId——同一场直播内先出现评论、后送礼就能把两次行为对到同一个人身上。这套短期缓存映射 长期稳定标识的组合拳是它最值得抄的设计。3. 转发链路gzip 压缩是隐藏的带宽杀手锏EventForwarder的forwardData会先检查配置里的gzip_forward_data。开启时走postGzippedData用 Node 的zlib.gzip压缩后再通过 axios POST 出去请求头带上Content-Encoding: gzip。弹幕高峰期一晚上几千条消息压缩后能省下可观的带宽而且对接收方透明——绝大多数 HTTP 框架都能自动解压。不开则走PostOriginalData原样发送方便调试。另外配置里还有一个gift_and_comments_only开关可只转发礼物和评论把无关事件挡在转发链路之外进一步降噪。4. 点赞的半开放状态拿得到事件拿不到次数工具能感知到点赞行为msgType 20006能拿到直播间点赞总数但拿不到单个用户精确的点按次数。这属于平台数据粒度的限制wxlivespy 在 README 里直言不讳地写了出来。这种能做什么、不能做什么写进文档的坦诚比藏着掖着的工具更可信。数据不丢、不错、可追溯它做了哪些保障直播数据的可靠性是这类工具的生死线wxlivespy 在三个层面做了防护按 seq 去重SpyService.onEvent维护一个receivedSeqs数组同一seq直播间消息序号从 1 递增只展示一次。需要留意的是转发链路本身可能重复投递CustomTypes.ts里对seq的注释写得很清楚——服务器收到后要自己去重这是给二次开发者的重要提醒。身份冲突预警decodeOpenIDInEvents里如果同一个sec_openid被解析出两个不同的decoded_openid会打一条log.warn警告日志送礼消息的十六进制 ID 映射冲突同理。虽然它没做复杂的纠错但把异常暴露在日志里排查问题就有据可循。日志分级与界面回显所有关键节点都有electron-log记录转发成功会打forward response失败打forward error界面上的转发日志面板展示最近 20 条方便肉眼核对数据到底发没发出去。三个能直接落地的场景场景一弹幕游戏运营。这是项目关键词里就带弹幕游戏的原因。把forward_url指向游戏服务器用户在直播间刷的每一条弹幕都会变成游戏指令连击送礼的combo_product_count还能驱动连击特效。相比录屏识别方案延迟低一个量级。场景二主播数据看板。外部系统轮询http://127.0.0.1:21201/getLiveStatus就能拿到实时在线人数、点赞总数、微信币打赏总额配合转发过来的逐条事件一场直播下来从谁来了、谁说了什么、谁送了多少钱到全程互动曲线全部齐活省掉人工登记。场景三长期用户画像。靠稳定的decoded_openid跨场次聚合某个用户在所有直播中的评论与送礼记录做用户价值分层和主播粉丝黏性分析——这是普通抓一把数据的工具给不了的增量价值。避坑指南三个最容易翻车的地方Chrome 没放对位置启动即失败。最常踩的坑是npm install后忘记把.cache\puppeteer\chrome下的浏览器复制到assets\puppeteer_chrome。报错基本都指向executablePath找不到文件。先确认assets\puppeteer_chrome目录存在且内含chrome.exe。解码报liveInfo is undefined。解码器里专门抛了一个异常liveInfo is undefined, but msgList or appMsgList is not empty。当接口返回的结构和预期不符通常是微信端改了协议或字段不要慌original_data里留了原始数据对着真实报文改WXDataDecoder里的字段路径即可。收到重复数据以为是 bug。前文说过转发链路不保证幂等同一事件可能被发送多次。接收方务必按seq去重这是文档注释明确提示的设计边界不是缺陷。怎么改、怎么扩给想二次开发的人三条路径加新消息类型在src/main/WXDataDecoder.ts的liveMessageFromAppMsg里加一个else if (o.msgType 新类型)分支按payload解出字段即可接口LiveMessage支持灵活追加可选字段。改转发目标默认是 HTTP POST如果你想推给消息队列或数据库只需要替换EventForwarder的实现SpyService.onEvents与转发的接口是解耦的。加本地存储源码里多处 TODO 提到save message to log file说明作者本来就有落盘计划。你可以在decodeDataFromResponse里把每条消息同时写进文件或 SQLite补上本地留档能力。最后说两句一句话回顾wxlivespy 用监听浏览器流量 解析微信私有协议 稳定用户标识这三板斧把一个看似无解的实时抓取难题简化成了几个模块之间的流水线协作。它本身代码量不大但每一处取舍——内容类型过滤、URL 白名单、gzip 转发、seq 去重——都是实战里长出来的经验。值得期待的方向有两个一是对新增消息类型的持续适配微信端每次升级协议都考验解码器的弹性二是本地日志落盘与更完善的重试机制作者已经在代码里埋了 TODO一旦补齐可靠性会再上一个台阶。对这个项目感兴趣的开发者不妨直接git clone https://gitcode.com/gh_mirrors/wx/wxlivespy跑起来从 listener 到 decoder 走一遍数据流你会收获一堂生动的浏览器即传感器实战课。【免费下载链接】wxlivespy微信视频号直播间弹幕信息抓取工具项目地址: https://gitcode.com/gh_mirrors/wx/wxlivespy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Windows Office 激活工具怎么选?3 分钟看懂 KMS_VL_ALL_AIO 智能激活脚本

Windows Office 激活工具怎么选?3 分钟看懂 KMS_VL_ALL_AIO 智能激活脚本

2026/8/20 2:28:50

Windows Office 激活工具怎么选?3 分钟看懂 KMS_VL_ALL_AIO 智能激活脚本 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 每次打开 Word,先看到"产品需要激活"…

手术机器人核心技术栈解析:从技术狂欢到价值回归的工程实践

手术机器人核心技术栈解析:从技术狂欢到价值回归的工程实践

2026/8/20 2:28:50

如果你关注医疗科技领域,最近两年可能会有一个强烈的感受:关于“手术机器人”的讨论,正在经历一场剧烈的转向。前几年,它还是资本和媒体眼中的“黄金赛道”,是颠覆传统外科的“确定性未来”;而如今&#xf…

思源宋体TTF下载安装完整攻略:7种字重免费商用,跨平台一次搞定

思源宋体TTF下载安装完整攻略:7种字重免费商用,跨平台一次搞定

2026/8/20 2:28:50

思源宋体TTF下载安装完整攻略:7种字重免费商用,跨平台一次搞定 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 想象一下这个周一早晨:你刚接手公司官…

T2-GRPO:让环境通过交互轨迹“说话”的强化学习新范式

T2-GRPO:让环境通过交互轨迹“说话”的强化学习新范式

2026/8/20 3:28:53

1. 项目概述:当环境开始“说话”最近在强化学习和具身智能的交叉领域,一个项目标题引起了我的注意:“Can the Environment Speak for Itself? $T^{2}$-GRPO: A Turn-Trajectory Group Relative Policy Optimization for Caregiver Agents”。…

Java插件系统实战:从零构建可扩展应用架构

Java插件系统实战:从零构建可扩展应用架构

2026/8/20 3:28:53

最近在开发一个自动化数据处理工具时,遇到了一个典型问题:核心功能完成后,如何让软件具备灵活扩展的能力?比如,今天需要从Excel导入数据,明天可能需要对接一个API,后天又得增加一个数据校验规则…

从《识骨寻踪》幕后看高绩效团队:信任、反馈与文化构建

从《识骨寻踪》幕后看高绩效团队:信任、反馈与文化构建

2026/8/20 3:28:53

你打开一部美剧,不是为了看剧情,而是为了看两个演员在戏外怎么“烦”对方。这听起来有点奇怪,但如果你追过《识骨寻踪》(Bones),并且对剧中那对天才法医Brennan和FBI探员Booth的化学反应念念不忘&#xff0…

单卡GPU训练64K长上下文LLM:Flash Attention与量化实战指南

单卡GPU训练64K长上下文LLM:Flash Attention与量化实战指南

2026/8/20 3:28:53

1. 一个看似不可能的任务:在单张消费级GPU上训练长上下文模型 最近在折腾大语言模型微调的朋友,估计都绕不开一个头疼的问题:上下文长度。无论是想用RAG增强知识库,还是想让模型理解更长的代码或文档,我们总希望模型的…

DeepSeek V4Pro 全面上手指南:从API调用到IDE集成实战

DeepSeek V4Pro 全面上手指南:从API调用到IDE集成实战

2026/8/20 3:28:53

最近在技术社区和开发者圈子中,DeepSeek V4Pro的发布无疑是一个重磅消息。无论是其宣称的推理能力提升,还是对长上下文、代码生成和多模态理解的增强,都让广大开发者和技术爱好者跃跃欲试。然而,面对官方文档、零散的社区讨论和各…

基于GenFlow与库库AI的AI应用开发实战:从工作流编排到技能开发

基于GenFlow与库库AI的AI应用开发实战:从工作流编排到技能开发

2026/8/20 3:18:53

大家好,我是专注于技术实战分享的博主。最近,AI 领域又迎来了一波新的动态,百度正式发布了其 AI 应用开发平台“库库AI”,而旗下的 AI 应用开发工具链“GenFlow”月活用户更是突破了亿级大关。对于开发者而言,这不仅仅…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/19 3:36:59

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/19 9:17:18

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/19 8:02:16

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换

2026/8/20 0:08:45

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com…

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒

2026/8/20 0:08:45

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 判断你是否…

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印

2026/8/20 0:08:45

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 按 3MF 官方规范的字面意思,一…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/17 12:00:53

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/18 12:20:24

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…