parent
bf5b351eda
commit
6b79f3cc5a
@ -0,0 +1,32 @@
|
||||
from get_danmu import get_danmu
|
||||
|
||||
def is_related(danmu, keyword_strings):
|
||||
# 判断弹幕是否与任意一个关键字相关。
|
||||
return any(keyword in danmu for keyword in keyword_strings)
|
||||
|
||||
def danmu_about_AI(urls, keywords):
|
||||
#根据提供的关键字对弹幕进行分类和统计,并返回前八个关键字及其相关弹幕。
|
||||
|
||||
all_danmu = get_danmu(urls)
|
||||
|
||||
# 初始化保存结果的字典
|
||||
keyword_count = {keyword: 0 for keyword in keywords} # 保存每个关键字的数量
|
||||
keyword_dist = {keyword: [] for keyword in keywords} # 保存与每个关键字相关的弹幕
|
||||
|
||||
# 遍历每一个弹幕,若与某一个关键字相关则统计
|
||||
for danmu in all_danmu:
|
||||
for keyword, keyword_strings in keywords.items():
|
||||
if is_related(danmu, keyword_strings):
|
||||
keyword_count[keyword] += 1
|
||||
keyword_dist[keyword].append(danmu)
|
||||
break
|
||||
|
||||
# 得到前八个关键字及其对应计数
|
||||
top_8_AI = sorted(keyword_count.items(), key=lambda item: item[1], reverse=True)[:8]
|
||||
|
||||
# 统计得到前八个相关技术的所有弹幕
|
||||
top_8_danmu = []
|
||||
for keyword, _ in top_8_AI:
|
||||
top_8_danmu.extend(keyword_dist[keyword])
|
||||
|
||||
return top_8_danmu, top_8_AI
|
Loading…
Reference in new issue