序言

今日详细介绍一个获取B站数据信息的Python拓展库-bilibili_api

能够获取的数据信息包含:

  • video-视频模块
  • user-客户模块
  • dynamic-动态性模块

PS:若有必须Python学习材料的小伙伴们能够加正下方的群去找完全免费管理人员领到

此次用“Running Man”十周年特别篇的视频,来做下获取弹幕的Demo。假如你也喜欢看“RM”,那大家便是最好的朋友。

我是比照

沒有比照 ,就没有伤害,如同近期的“哈尔滨工业大学 ”某学员和“浙江大学”某学员一样 。

它是以前获取弹幕的全过程:

1、弹幕api接口

https://comment.bilibili.com/123072475.xml (一个固定不动的url地址 视频的cid .xml)

2 、运用Request模块,获取数据信息

3、运用Xpath分析数据信息

接下去 ,现在是时候演出真实的技术性了。

历经bilibili_api的封裝,弹幕数据信息获取的一部分仅用了一行编码:

danmu = video_info.get_danmaku()

相对的获取视频的基础信息和评价信息也是一样的方便快捷。

basic_info = video_info.get_video_info() comments = video_info.get_comments()

快速开始

接下去,文中将用bilibili_api获取“Running Man”十周年特别篇的弹幕数据信息 ,并绘图词云 。

视频的连接:

https://www.bilibili.com/video/BV1gC4y1h722

B站有av号和bv号,重做以后,在连接中立即显示信息的是bv号 ,这两个务必出示一个。

bvid是b站新的视频唯一标志符,由12位数据、英文字母构成,英文大小写比较敏感 ,传到时请包括头顶部的“BV ”

例如:“BV1gC4y1h722”

0)安裝全过程

安裝必须依靠request 模块 ,它是把B站数据信息的API封裝起来了。

根据pip安装就可以:

pip install bilibili_api

1)导进模块

from bilibili_api import Verify from bilibili_api.video import VideoInfo from bilibili_api.video import Danmaku

VideoInfo类-获取视频的信息(弹幕 、评价、投币机总数、播放量等)

Danmaku类-弹幕类,用以获取和推送弹幕

Verify 类,能用可无需 。一部分视频信息必须登陆(即必须 SESSDATA )后才可以应用(如历史时间弹幕获取)。

对视频开展关注 、投币机等客户实际操作则必须 SESSDATA 和 csrf 。

有关 SESSDATA 和 csrf 获取的详尽方式 ,可参照以下连接:

https://github.com/Passkou/bilibili_api/wiki/SESSDATA和CSRF获取方式 (Chrome为例子)

2)获取弹幕数据信息

建立VideoInfo目标,传到2个主要参数:

  • bvid="BV1gC4y1h722"(视频的BV号)
  • verify=verify(依据sessdata和csrf,获取弹幕)

获取的弹幕数据信息为“Danmaku类”的目录 ,根据解析xml,复印它的text就可以

贴个编码:

verify = Verify(sessdata="你的", csrf="你的") video_info = VideoInfo(bvid="BV1gC4y1h722", verify=verify) danmu = video_info.get_danmaku() for i in danmu:     print(i.text)

3)绘图词云

根据jieba词性标注和WorldCloud绘图词云 。

可根据WordCloud目标,传到“背景色 ” ,“背景”,“字体样式”等主要参数。

贴个编码:

wc = WordCloud(     background_color='white',     mask=background_Image,     font_path=r'./SourceHanSerifCN-Medium.otf',     color_func=random_color_func,     random_state=50, ) word_cloud = wc.generate(words_str) # 造成词云 word_cloud.to_file("rm.jpg") #存图 # 显示信息词云照片 plt.imshow(word_cloud) plt.axis('off') plt.show()

4)最后实际效果

根据词云,能够见到最显著的便是 “开心 十周年 ”、“RM 十周年”、“哈哈哈哈哈哈哈哈哈哈”等 ,谢谢Running Man...

 

我是总结

根据这一模块“bilibili_api ”,能够迅速的获取B站视频和客户的数据信息,对于数据信息获取出来咋玩 ,全看自身的想像力啦~

文中的文本及图片来自互联网,仅作学习培训 、沟通交流应用,不具备一切商业行为,著作权归著作人全部,如不太好请立即在线留言以作解决。

创作者:天作

文章来源于网络 ,如有侵权请联系站长QQ61910465删除
本文版权归去快排wWw.seogUrublog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系qq❉61910465