|
|
@ -14,17 +14,14 @@ headers = {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
keywords = [
|
|
|
|
keywords = [
|
|
|
|
'AI', '人工智能', '机器学习', '深度学习', '神经网络', '自动化',
|
|
|
|
'AI', '人工智能', '机器学习', '深度学习', '神经网络', '自动',
|
|
|
|
'算法', '数据科学', '智能算法', '自然语言处理', '计算机视觉',
|
|
|
|
'算法', '数据科学', '自然语言', '计算机', '人工智能技术',
|
|
|
|
'智能机器人', '智能系统', '人工智能技术', 'AI技术', 'AI应用',
|
|
|
|
'大数据', '预测分析', '机器视觉',
|
|
|
|
'智能设备', '智能分析', 'AI模型', '大数据', '预测分析',
|
|
|
|
'智能', '计算机', '人工智能应用',
|
|
|
|
'智能预测', '智慧城市', '智能制造', '机器视觉', '自动驾驶',
|
|
|
|
'数据分析', '情感计算', 'ai']
|
|
|
|
'智能传感器', '智能控制', '智能推荐', '计算机科学', '人工智能应用',
|
|
|
|
|
|
|
|
'人工智能发展', 'AI伦理', '人工智能安全', '智能算法应用', '数据分析',
|
|
|
|
|
|
|
|
'智能化', '智能化技术', '算法优化', '机器智能', '情感计算','ai'
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
videosnumber = 0
|
|
|
|
videosnumber = 0
|
|
|
|
|
|
|
|
|
|
|
|
# 获取搜索结果页面的内容
|
|
|
|
# 获取搜索结果页面的内容
|
|
|
|
def get_search_page(search_url):
|
|
|
|
def get_search_page(search_url):
|
|
|
|
response = requests.get(search_url, headers=headers)
|
|
|
|
response = requests.get(search_url, headers=headers)
|
|
|
@ -92,7 +89,7 @@ def page(url,num):
|
|
|
|
return url
|
|
|
|
return url
|
|
|
|
|
|
|
|
|
|
|
|
#处理弹幕
|
|
|
|
#处理弹幕
|
|
|
|
def chuli(alltxt):
|
|
|
|
def wcloud(alltxt):
|
|
|
|
danmustr=''.join(i for i in alltxt) #将所有弹幕拼接在一起
|
|
|
|
danmustr=''.join(i for i in alltxt) #将所有弹幕拼接在一起
|
|
|
|
words=list(jieba.cut(danmustr)) ###利用jieba库将弹幕按词进行切分
|
|
|
|
words=list(jieba.cut(danmustr)) ###利用jieba库将弹幕按词进行切分
|
|
|
|
words=[i for i in words if len(i)>1] ###挑出长度大于1的词语(为去除诸如?,哈,啊等字符)
|
|
|
|
words=[i for i in words if len(i)>1] ###挑出长度大于1的词语(为去除诸如?,哈,啊等字符)
|
|
|
@ -111,8 +108,6 @@ def sort(txt, keywords):
|
|
|
|
|
|
|
|
|
|
|
|
return comment_counter
|
|
|
|
return comment_counter
|
|
|
|
|
|
|
|
|
|
|
|
comment_counter = sort(alltxt, keywords)
|
|
|
|
|
|
|
|
top_comments = comment_counter.most_common(8) #输出排名前八
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#存入excel
|
|
|
|
#存入excel
|
|
|
|
def save_to_excel(danmu_data, filename='danmu_data.xlsx'):
|
|
|
|
def save_to_excel(danmu_data, filename='danmu_data.xlsx'):
|
|
|
@ -142,12 +137,13 @@ def main(kword,mubiao):
|
|
|
|
|
|
|
|
|
|
|
|
# 示例搜索页 URL(需要替换为实际的搜索页 URL)
|
|
|
|
# 示例搜索页 URL(需要替换为实际的搜索页 URL)
|
|
|
|
keword = "2024巴黎奥运会" #视频关键词
|
|
|
|
keword = "2024巴黎奥运会" #视频关键词
|
|
|
|
flag = 300 #你要爬的视频数量
|
|
|
|
flag = 10 #你要爬的视频数量
|
|
|
|
|
|
|
|
|
|
|
|
alltxt=main(keword,flag)
|
|
|
|
alltxt=main(keword,flag)
|
|
|
|
chuli(alltxt)
|
|
|
|
wcloud(alltxt)
|
|
|
|
save_to_excel(alltxt)
|
|
|
|
save_to_excel(alltxt)
|
|
|
|
|
|
|
|
comment_counter = sort(alltxt, keywords)
|
|
|
|
|
|
|
|
top_comments = comment_counter.most_common(8)
|
|
|
|
# 输出排名前8的AI相关弹幕
|
|
|
|
# 输出排名前8的AI相关弹幕
|
|
|
|
for comment, count in top_comments:
|
|
|
|
for comment, count in top_comments:
|
|
|
|
print(f'弹幕: {comment}, 数量: {count}')
|
|
|
|
print(f'弹幕: {comment}, 数量: {count}')
|