python如何爬取bilibili的弹幕制作词云
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章将为大家详细讲解有关python如何爬取bilibili的弹幕制作词云,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需要知道cid,可以F12,F5刷新,找
千家信息网最后更新 2025年12月01日python如何爬取bilibili的弹幕制作词云
这篇文章将为大家详细讲解有关python如何爬取bilibili的弹幕制作词云,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
需要知道cid,可以F12,F5刷新,找cid,找到之后拼接url
也可以写代码,解析response获取cid,然后再拼接

使用requests或者urllib都可以
我是用requests,请求该链接获取到xml文件
代码:获取xml
def get_data():
res = requests.get('http://comment.bilibili.com/6315651.xml')
res.encoding = 'utf8'
with open('gugongdanmu.xml', 'a', encoding='utf8') as f:
f.writelines(res.text)解析xml,
def analyze_xml():
f1 = open("gugongdanmu.xml", "r", encoding='utf8')
f2 = open("tanmu2.txt", "w", encoding='utf8')
count = 0
# 正则匹配解决xml的多余的字符
dr = re.compile(r'<[^>]+>', re.S)
while 1:
line = f1.readline()
if not line:
break
pass
# 匹配到之后用空代替
dd = dr.sub('', line)
# dd = re.findall(dr, line)
count = count+1
f2.writelines(dd)
print(count)去掉无用的字符和数字,找出所有的汉字
def analyze_hanzi():
f1 = open("tanmu2.txt", "r", encoding='utf8')
f2 = open("tanmu3.txt", "w", encoding='utf8')
count = 0
# dr = re.compile(r'<[^>]+>',re.S)
# 所有的汉字[一-龥]
dr = re.compile(r'[一-龥]+',re.S)
while 1:
line = f1.readline()
if not line:
break
pass
# 找出无用的符号和数字
# dd = dr.sub('',line)
dd = re.findall(dr, line)
count = count+1
f2.writelines(dd)
print(count)
# pattern = re.compile(r'[一-龥]+')使用jieba分词,生成词云
def show_sign():
content = read_txt_file()
segment = jieba.lcut(content)
words_df = pd.DataFrame({'segment': segment})
stopwords = pd.read_csv("stopwords.txt", index_col=False, quoting=3, sep=" ", names=['stopword'], encoding='utf-8')
words_df = words_df[~words_df.segment.isin(stopwords.stopword)]
print(words_df)
print('-------------------------------')
words_stat = words_df.groupby(by=['segment'])['segment'].agg(numpy.size)
words_stat = words_stat.to_frame()
words_stat.columns = ['计数']
words_stat = words_stat.reset_index().sort_values(by=["计数"], ascending=False)
# 设置词云属性
color_mask = imread('ciyun.png')
wordcloud = WordCloud(font_path="simhei.ttf", # 设置字体可以显示中文
background_color="white", # 背景颜色
max_words=1000, # 词云显示的最大词数
mask=color_mask, # 设置背景图片
max_font_size=100, # 字体最大值
random_state=42,
width=1000, height=860, margin=2,
# 设置图片默认的大小,但是如果使用背景图片的话, # 那么保存的图片大小将会按照其大小保存,margin为词语边缘距离
)
# 生成词云, 可以用generate输入全部文本,也可以我们计算好词频后使用generate_from_frequencies函数
word_frequence = {x[0]: x[1] for x in words_stat.head(1000).values}
print(word_frequence)
# for key,value in word_frequence:
# write_txt_file(word_frequence)
word_frequence_dict = {}
for key in word_frequence:
word_frequence_dict[key] = word_frequence[key]
wordcloud.generate_from_frequencies(word_frequence_dict)
# 从背景图片生成颜色值
image_colors = ImageColorGenerator(color_mask)
# 重新上色
wordcloud.recolor(color_func=image_colors)
# 保存图片
wordcloud.to_file('output.png')
plt.imshow(wordcloud)
plt.axis("off")
plt.show()运行程序,结果:

统计的结果
完成!
pip的换源,原来的太慢,然后将你自己没有库装上
关于"python如何爬取bilibili的弹幕制作词云"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
图片
背景
大小
篇文章
背景图片
生成
制作
最大
代码
字体
字符
数字
更多
结果
颜色
汉字
不错
实用
内容
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
型数据库列多少影响性能么
网络安全技术创新领域
dnf韩服选择哪个服务器
电脑软件开发如何做
网络安全未知屏手抄报
钟寒网络安全保卫学院
香港服务器安全么
上海道振网络技术有限公司
中深软通软件开发培训
数据库简单软件
仙侣奇缘3服务器
传统金融互联网金融科技金融
江阴互联网智能科技选择
冒险岛数据库解锁账号密码
ocsp服务器搭建
win7 svn服务器
四川crm软件开发公司
软件开发能力排行榜
四家国产信创数据库
高管的网络安全意识
直销软件开发公司电话
公安网络安全建设的几点思考
数据库的容量最大
国家网络安全我们能做什么
表格配色软件开发
越南代理服务器ip
数据库简单软件
xamppphp数据库查询
数据库怎么清理界面
西安银行软件开发中心