webserver 动态 静态_nodejs 实现虎牙动态弹幕工具

概述:

最近迷上王者荣耀张大仙的虎牙直播,除了大仙幽默风趣解说之外,粉丝的弹幕互动也比较搞笑,一般大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,上代码

4763f6224e6aef0e5ce390f991b96e5f.png

server.js

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

391c481fe3c6d5e1686af9f6c8772acd.png

server.class

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

e63c4c1ea921cc43a82ddcaacaeb0829.png

前端html代码

39f9f564255793651c7e20ae5d722943.png

前端js代码

工具页面完整版全图:

a6b7086ed3a4ae8a091d616b40fc41ab.png

虎牙弹幕工具

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值