Introduction

作为一个哔哩哔哩的(伪)老用户,当我看到哔哩哔哩里面越来越多的软色情视频,我的心情是沉重的。不知道是不是受到了整个网络大环境的影响,B站出现了越来越多的软色情视频,甚至推送和视频推荐(看多一个后,就会利用协同过滤的思想推荐类似的视频),都有很多软色情视频。尤其是舞蹈、直播、ASMR区,各种大腿,各种诱惑!要知道哔哩哔哩里面有相当多的小学生和中学生啊!!!当他们看到这些视频后,会有何感想?理性的想一下,这和色情视频有多大的区别呢?在这样的网络环境下成长的孩子,会有什么样的价值观呢?难道B站克里斯事件就不会再发生了吗?

ASMR
舞蹈

B站不但在软色情方面不作为,甚至会推送推荐这些不健康的视频。只要看了一个软色情相关的视频,就会推荐类似的视频。有的人会说,算法是中立的,技术没有对错之分,但这只是借口而已,难道算法不是人写的吗?难道算法不能对软色情视频进行过滤吗?

是的,所以我写了一个鉴定软色情视频的程序,程序的大概思想是这样的:

用爬虫爬取一个视频的弹幕文件,然后对弹幕进行二分类,如果弹幕中含有软色情词,则判定为软色情弹幕,最后统计一下软色情弹幕在所有弹幕中的占比,如果比值超过了一定的界限,那么就将此视频判定为软色情视频。
其中软色情词来源于我统计的 B站软色情词典。例如:营养快线B站看片,指日可待


Program

原理

手动构建了软色情词典(词的权重不同),对含有软色情信息的弹幕进行统计,得到一个视频中软色情弹幕的(加权)占比,如果占比超过0.01,则标记为软色情,否则不是软色情视频。

软色情词汇

1
2
3
sex_dict = {'.*过审.*|.*营养.*跟不上.*|.*营养不良.*|.*看片.*|.*营养快线.*|.*身体被掏空.*|.*抽搐.*索然无味.*|.*可耻.*播放量.*': 6,
'.*打字.*清白.*|.*乳量.*|.*想日.*|.*观球.*|.*丝袜.*|.*石更.*|.*一硬.*|.*硬.*梆.*|.*梆.*硬.*|.*硬.*绑.*|.*绑.*硬.*|.*硬.*邦.*|.*邦.*硬.*|.*撩我.*|.*撩人.*' : 1
}

欢迎贡献软色情词汇和视频av号


使用的库

开发环境:Spyder

  • lxml
  • requests
  • BeautifulSoup

使用说明

打开main.py文件, 输入要测试的av号,例如 4392812,然后运行得到结果

源码

Github https://github.com/wansho/BilibiliSexVideoDetection

下一步打算

做一个chrome浏览器插件,检测B站软色情视频

2018/05/10日更新

  • 由于B站前端的html结构发生变化,所以修改了弹幕文件的获取方式
  • 删除了一些不必要的文件
  • 只保留了联网测试的方式
  • 将av号和色情词典存储在了文件中
  • 实现了动态更新软色情视频和非软色情视频的分界线
  • 优化了分界线的生成方式

参考

https://github.com/regaliastar/bili-danmu