Skip to content

pren1/script-anti-back-end

Repository files navigation

黑名单挖掘

【Update 9/29/2017】: 对过去几个月的弹幕重新挖掘,增添了新封禁名单,共940个账号

【Update 7/13/2017】: 运行 UID_process.py,将会获得在UID.txt里的每一个UID发送弹幕的情况,结果存在danmaku_info.csv里

鉴于 3Shain 正在开发对抗脚本的脚本,并且其中需要脚本哥已经控制的黑名单,这个简单的程序的作用就是从 VTB/VUP DDbilibili-vtuber-danmaku 数据库中找出 3Shain 脚本中需要的黑名单。

整个流程分为两步:

  1. 找出脚本哥发的弹幕
  2. 找到那些弹幕对应的UID

第一步,如果仔细思考脚本哥的行为模式,他实际上是使用某种脚本,操作有限的观众账号,在非常短的时间内发送大量的重复的弹幕。所以,一个思路就是先找出那些在短时间内被发送了很多次的弹幕,再人工筛选出脚本哥发过的弹幕。

因为弹幕的数据已经包含了时间戳,整个事情变得非常简单:用一个时长为两秒的滑动窗口来滑过数据,每次只关注这个滑动窗口之中包含的弹幕,并且计算这些弹幕出现的次数。如果某个弹幕出现的次数超过了5次,那么我们就把它记录下来。

你可以下载本仓库里的代码,然后更新来自 VTB/VUP DD 的数据库,然后用python3运行:

git clone https://github.com/pren1/script-anti-back-end.git
cd script-anti-back-end
git submodule update --init --remote --depth 1
python3 Filter_construct.py True

⚠️注意⚠️运行这个程序要花费数个小时,数据库实在有点大......

Fashion_message.txt 包含了程序运行的结果,所以你不必亲自去运行上面的程序。

第二步,通过阅读Fashion_message.txt, 我们可以手动找出脚本哥发过的弹幕,有好几种:

["我宫内莲华来呼吸夏哥了!", "我是“774ガチ恋勢”,我前来DD了!", "俺のID「774ガチ恋勢」ですよろしく", "来DD了,我是宫内莲华Official", "宫内莲华Official,前来DD了!", "俺の名は774ガチ恋勢です,よろしく!", "俺のID「774ガチ恋勢」です", "僕の名は774ガチ恋勢です,よろしく"]

之后,通过运行以下命令,把所有发过这些弹幕的用户的UID找出来就可以了:

python3 Filter_construct.py False

结果已经存在UID.txt里,或者如下图:

之前3Shain的脚本里的黑名单有88个UID,大概是手动添加(?)。然后通过这个方法找出来的有187个UID。Bravo!

令人生草的副产品

大家其实可以仔细研究一下Fashion_message.txt里面的结果,如下图所示,非常生草,而且充满了熟悉感。

如图,在Fashion_message.txt中,弹幕按照出现的频率排序,排名第一的是888888,第二是无情的生草机器,第三是问号,第四第五才是dd们说的最多的“kksk”和“awsl”。

除此之外,很有意思的一点就是,类型相同的评论出现的频率都差不多,如下:

感觉这个其实是有某种规律在里面的,深挖的话说不定很有趣。我觉得离制作出非常真实的自动炒热气氛的弹幕机器人已经不远了......

顺便,如果某种程序检测到了短时间内大量发送的相同弹幕,而那种弹幕又不在Fashion_message.txt这个列表里,那么那种弹幕源于脚本哥的后验概率就会提升......这也算是一种过滤弹幕的思路。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages