几行JS代码实现b站直播间弹幕抽奖
有浏览器就行,无需爬虫,无需安装其他任何软件或者插件。
在任意b站直播间,打开浏览器开发者工具(推荐使用chrome,对应开发者工具为DevTools),切换到控制台(console)面板即可。
作为一个b站未签约小透明游戏主播,最近想在直播间里搞搞抽奖。
刚好会一点jquery,所以想直接在直播间所在网页进行信息提取,然后随机抽取。
1, 从弹幕中随机抽出
js 代码如下
var danmus = $(".chat-history-list .chat-items .chat-item.danmaku-item ")
var danmu_list = [];
for(let i = 0; i< danmus.length; i ++) {danmu_list.push({uid: $(danmus[i]).data("uid"),name: $(danmus[i]).data("uname"),text: $(danmus[i]).data("danmaku")})
}
var index = Math.floor((Math.random() * danmu_list.length))
console.log(danmu_list[index])
复制到console下回车就可。
输出格式,示例如下:
{uid: 149259132, name: "大爽歌", text: "测试2"}
2, 从发弹幕的用户中随机抽出
但是从弹幕中随机抽取有个问题,就是弹幕发的多的人,获奖概率大。
如果希望每个发送弹幕的人抽奖概率一样,则要进行去重,代码如下:
var danmus = $(".chat-history-list .chat-items .chat-item.danmaku-item ")
var danmu_dict = {};
for(let i = 0; i< danmus.length; i ++) {var dm = {uid: $(danmus[i]).data("uid"),name: $(danmus[i]).data("uname"),text: $(danmus[i]).data("danmaku"),}if(!(dm.uid in danmu_dict)){danmu_dict[dm.uid] = dm}
}
var danmu_list = Object.values(danmu_dict)
var index = Math.floor((Math.random() * danmu_list.length))
console.log(danmu_list[index])
复制到console下回车就可。
输出格式同1, 示例如下:
{uid: 149259132, name: "大爽歌", text: "测试2"}
几行JS代码实现b站直播间弹幕抽奖相关推荐
- 用ffmpeg在Windows11下的命令行模式推流到B站直播间
0. 通过修改环境变量,实现ffmpeg命令在任意命令行路径可用的方法.不用再使用下面的第1步了!! 注意:一路"确定 " 保存设置后,最好重启一下,这样就可以将ffmpeg变成系 ...
- 自定义事件详解以及实现有趣B站直播间弹幕轰炸功能
案例:B站直播间弹幕轰炸跳过按键监听办法: var event = document.createEvent('Event'); event.initEvent('input', true, true ...
- 不用obs不用直播姬,直接ffmpeg命令行推流RTSP到B站直播间
最近在做公司的直播准备工作,在尝试过程中,发现公司的"海康威视 DS-2CD1021FD-IW1"摄像头输出的是RTSP格式的. 经过各种搜索,尝试了用B站官方直播姬抓VLC窗口, ...
- 2021-04-21爬虫爬取b站直播间弹幕并制作词云
直播间弹幕接口 'https://api.live.bilibili.com/xlive/web-room/v1/dM/gethistory?roomid=' + roomid 示例: json格式化 ...
- JS逆向-B站直播间弹幕protocbuf分析【10-24】
先简单的记录下,有空再详细补充下. bibi直播间的弹幕协议已经从https变成wss. 抓包分析得知请求地址为:wss://hw-bj-live-comet-05.chat.bilibili.com ...
- B_zhan直播间弹幕抓取
前两天研究了一下B_zhan的直播间,其实B_zhan的用户体量很少.我最近几个月一直在搞B站,几乎B_zhan能pa的都被我试过.其中还包括包括私信,大批量的私信.不过再三声明哈,我本人是为了学习, ...
- 隐身术?登顶 GitHub Top1:200 行 JS 代码让画面人物瞬间消失!
整理 | 夕颜 出品 | CSDN(ID:CSDNnews) 今天,一个名为 Real-Time-Person-Removal(实时人物去除)项目在GitHub上火了,登上近日GitHub Trend ...
- java实现语法分析器_200 行 JS 代码,带你实现代码编译器
一.前言 对于前端同学来说,编译器可能适合神奇的魔盒 ,表面普通,但常常给我们惊喜. 编译器,顾名思义,用来编译,编译什么呢?当然是编译代码咯 . 其实我们也经常接触到编译器的使用场景: React ...
- php公告滚动源码,10行js代码实现上下滚动公告效果方法
本文主要给大家介绍了关于利用10行js代码实现滚动公告效果的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧.希望能帮助到大家 ...
最新文章
- 助你成长为优秀的程序员 杰出的软件工程师、设计师、分析师和架构师
- 记录华为P40Pro+系列相机参数总结
- (二) 时间/空间复杂度计算
- how does SAP UI5 filter for list work in xml view
- LQ训练营(C++)学习笔记_常见动态规划模型
- 如何使用GZip和Jersey压缩Java REST API中的响应
- 14秋《c语言程序设计》作业2,《C语言程序设计》 作业参考答案.doc
- Redis学习---(15)Redis 脚本
- pycharm安装教程,超详细
- golang:正则表达式匹配网页url_网络爬虫:3种网页抓取方法
- 2006年星座运势全解-射手
- ROS2——Win10上的rqt_graph无法正常运行
- 安装zabbix4.0
- SFS2X 例子(java 扩展加as 客户端)
- 130242014029-黄超强-实验一
- 毕设项目 - 基于SSM的教师工作考核绩效管理系统(含源码+论文)
- VCC和GND短路,怎么找问题?
- 为何学习Python?这是我看到的最好回答
- 史上最全报表教程,还不快收藏!
- 朝鲜青年结婚流行新大件——手机