概述:

最近迷上王者荣耀张大仙的虎牙直播,除了大仙幽默风趣解说之外,粉丝的弹幕互动也比较搞笑,一般大v的直播房间,弹幕满屏,不太方便看,突发奇想是是否可以做一款工具,动态获取直播房间的弹幕信息, 通过工具逐条可以逐条看弹幕信息,闲话不说,分享下实现细节,一起来探讨下。此文仅供学习参考,其他人用于商业用途,造成其他问题,与本文作者无关哈。本文主要用nodejs实现一款小工具。

虎牙弹幕动态获取

这个是做这个工具的核心点,其实也比较简单,主要用了nodejs第三方库huya-danmu,一个虎牙直播动态监听库,可以理解是用一个webserver,本地可以new一个对象,其实就是一个client,实时监听server传送的弹幕、刷礼物、人气等实时信息。详细使用方法,可以看这个连接:https://www.npmjs.com/package/huya-danmu

动态库安装方法,npm install huya-danmu

工具界面

有了虎牙弹幕获取方式,需要有个工具界面,可以输入一个房间号,点击获取,可以在界面上动态打印实时动态弹幕信息,或者弹幕也可以保存到文件中。

这里用了nodejs库carlo,做了一个桌面软件,对,你没听错,nodejs除了可以做web应用,也可以做桌面软件,其实说是桌面软件,其实也不完全是,这个库的本质是这个本身有个浏览器的外壳,本身提供了一个框架,可以把开发者自己写的前端静态页面,基于这个浏览器外壳上运行,那样,启动运行之后,用户看到的效果是启动了一个浏览器(内置的),浏览器上选染用的html页面,和打开一个桌面app是一样的效果,哈哈,废话不多说,下面介绍下工具的代码。

代码解析

工具包括两个模块,server端,使用carlo选染的一个静态页面,页面上有个表单,信息打印区域,为了实现server端和页面(client)信息交互(房间号、弹幕),server端同时启动了一个webserver,上代码



直播间弹幕python爬取 直播弹幕统计软件_静态页面

server.js



server.class 内部通过,监听到前端的连接之后,实时的接受消息(如房间号、过滤弹幕关键字),然后调用huya-danmu库,实时获取弹幕,把弹幕信息返回给前端,前端在弹幕打印区域做显示。




直播间弹幕python爬取 直播弹幕统计软件_node.js安装模式 的区别_02

server.class



前端client,其实就是server端选染的test.html页面,页面是是一个表单和弹幕显示区域,用户输入房间号和过滤弹幕关键字之后,点击获取按钮,其实就是启动了一个client,与server进行连接,然后实时传输参数和获取弹幕信息,并打印。




直播间弹幕python爬取 直播弹幕统计软件_静态页面_03

前端html代码




直播间弹幕python爬取 直播弹幕统计软件_静态页面_04

前端js代码



工具页面完整版全图:




直播间弹幕python爬取 直播弹幕统计软件_静态页面_05

虎牙弹幕工具

哈哈,以上是自己做的一个简单工具,仅供学习,只花了一晚上的时间闲着没事搞的,大家不喜勿喷,一起探讨下。