然后,我们就可以调用百度的情感倾向分析接口,对我们的弹幕数据进行分析了:
# 情感计数器 optimistic = 0 neutral = 0 pessimistic = 0 for danmu in danmu_list: # 因调用 QPS 限制,每次调用间隔 0.5s time.sleep(0.5) req_data = { 'text': emoji.demojize(danmu) } # 调用情感倾向分析接口 if len(danmu) > 0: r = requests.post(sentiment_url, json = req_data) print(r.json()) for item in r.json()['items']: if item['sentiment'] == 2: # 正向情感 optimistic += 1 if item['sentiment'] == 1: # 中性情感 neutral += 1 if item['sentiment'] == 0: # 负向情感 pessimistic += 1 print('正向情感:', optimistic) print('中性情感:', neutral) print('负向情感:', pessimistic) attr = ['正向情感','中性情感','负向情感'] value = [optimistic, neutral, pessimistic] c = ( Pie() .add("", [list(attr) for attr in zip(attr, value)]) .set_global_opts(title_opts=opts.TitleOpts(title="「MOJITO」弹幕情感分析")) .render("pie_base.html") )最后的结果图长这样:
从最后的结果上来看,正向情感占比大约在 2/3 左右,而负向情感只有不到 1/4 ,看来大多数人看到周董的新歌还是满怀激动的心情。
不过这个数据不一定准确,最多可以做一个参考。
源代码需要源代码的同学可以在公众号后台回复「MOJITO」获取。