用etree解析xml_用 Python 抓取 bilibili 弹幕并分析!
平常我们在看视频时,弹幕是出现在视频上的。实际上在网页中,弹幕是被隐藏在源代码中,以XML的数据格式进行加载的。比如:https://comment.bilibili.com/123072475.xml一个固定的url地址 + 视频的cid + .xml只要找到你想要的视频cid,替换这个url就可以爬取所有弹幕了(b站大部分网页给出的字幕限制是1000条)。一个视频的cid在哪里呢?右键网页,打开网页源代码,搜索 "cid": 就能找到:
发布日期:2021-06-24 15:56:38
浏览次数:3
分类:技术文章
本文共 1448 字,大约阅读时间需要 4 分钟。
时隔一年,嵩哥带来他的新作《雨幕》。
他依旧认真创作,追求高品质,作品在发表之前已听了五百遍以上。如此高品质的音乐,大家如何评价呢?通过哔哩哔哩上的视频弹幕,感受一下。01 实现思路首先,利用哔哩哔哩的弹幕接口,把数据保存到本地。接着,对数据进行分词。最后,做了评论的可视化。02 弹幕数据03 保存数据到本地
有了数据的接口链接,我们就可以利用request模块,获取数据了。然后,再利用xpath简单的解析xml,就可以把所有的弹幕信息汇总到一个列表里了。最后,把列表转化成dataframe,保存到本地。# 许嵩新歌《雨幕》 # bilibili视频弹幕文件 url = 'https://comment.bilibili.com/123072475.xml' # 发送请求 response = requests.get(url) xml = etree.fromstring(response.content) # 解析数据 dm = xml.xpath("/i/d/text()") print(dm) # list # 把列表转换成 dataframe dm_df = pd.DataFrame(dm, columns=['弹幕内容']) print(dm_df) # 存到本地 # 解决了中文乱码问题 dm_df.to_csv('雨幕-弹幕.csv', encoding='utf_8_sig')保存的csv数据:04 对数据进行分词
制作词云前,需要把弹幕数据进行分词。关于jieba分词,可以参考:https://blog.csdn.net/dnxbjyj/article/details/72854460# jieba分词 dm_str = " ".join(dm) words_list = jieba.lcut(dm_str) # 切分的是字符串,返回的是列表 words_str = " ".join(words_list)05 词云可视化通过创建词云对象、设置词云参数,最终生成图片,保存到本地。# 读取本地文件 backgroud_Image = plt.imread('1.jpg') # 创建词云 wc = WordCloud( background_color='white', mask=backgroud_Image, font_path='./SourceHanSerifCN-Medium.otf', # 设置本地字体 max_words=2000, max_font_size=100, min_font_size=10, color_func=random_color_func, random_state=50, ) word_cloud = wc.generate(words_str) # 产生词云 word_cloud.to_file("yumu.jpg") #保存图片转载地址:https://blog.csdn.net/weixin_33682804/article/details/112635953 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月23日 11时11分06秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C语言、windows程序设计、汇编笔记(很有用哦)
2019-04-28
【vn.py】源码解析之 ATR_RSI 策略
2019-04-28
【vn.py】源码解析之布林通道(BollChannel)策略
2019-04-28
【vn.py】策略实现之R-Breaker策略
2019-04-28
【机器学习】机器学习公共数据集整理
2019-04-28
英文论文写作注意事项整理
2019-04-28
【vn.py】SpreadTrading价差交易
2019-04-28
【python量化】国内外基于python开发的量化回测框架
2019-04-28
【python】如何用python生成并保存gif动态图
2019-04-28
【机器学习】核函数的理解与常见核函数
2019-04-28
【一次认识一个市场技术指标】之ATR(真实波幅指标)
2019-04-28
【一次认识一个市场技术指标】之RSI(相对强弱指标)
2019-04-28
【一次认识一个市场技术指标】之KDJ(随机指标)
2019-04-28
一文读懂量化系统接入及相关平台
2019-04-28
【vn.py】 策略实盘自动交易
2019-04-28
【机器学习】多元函数梯度的理解
2019-04-28
【金融量化】期货中的对手价、市价、排队价、最新价分别表示什么价位
2019-04-28
【矩阵论】《理解矩阵》学习笔记
2019-04-28
【机器学习】网络表征学习、网络嵌入必读论文
2019-04-28
【机器学习】极大似然估计、最大后验估计的对比与联系
2019-04-28