大家好,我是阿辰,今天来教大家如何实现『B站直播』弹幕实时分析
首先在B站随意打开一个直播房间
通过F12查看network,找到下面这个链接
可以看到是post请求,经过验证只需要房间号就可以获取弹幕!
为了达到实时采集的目的,需要将采集弹幕的代码封装成函数,然后每个几秒调用一次这个函数(比如这里定为5秒)
defsleeptime(hour,min,sec):returnhour*3600+min*60+secsecond=sleeptime(0,0,5)while1==1:time.sleep(second)print('doaction')###5秒采集一次get_msg()这里的get_msg是采集弹幕函数
情绪判断,返回值为正面情绪的概率,越接近1表示正面情绪,越接近0表示负面情绪先简单来看一个例子
text1='这部电影真心棒,全程无尿点's1=SnowNLP(text1)print(text1,s1.sentiments)#这部电影真心棒,全程无尿点0.9842572323704297通过SnowNLP库实现文本的情感分析
正面弹幕13条、负面弹幕10条。
同样还是读取弹幕文本文件,之后就以分钟为间隔进行统计
获取当前小时
h=time.strftime("%Y-%m-%d%H",time.localtime())开始统计
思路:通过SnowNLP库对文本(弹幕)进行分词然后会分好的词进行统计排序
先将弹幕合并成文本
foriinmsg_data:#ifymdhmini:text_list.append(i.split("*")[2])#需要操作的句子text="".join(text_list)text=text.replace("\n","")print(text)s=SnowNLP(text)开始进行统计,然后取出前5
本文主要是讲解了任何实时采集直播弹幕,然后通过SnowNLP库等对弹幕数据进行统计。