bilibili_api,仅用 3 行代码获取B站(弹幕、评论、用户)数据
今天介绍一个获取B站数据的Python扩展库-bilibili_api
可以获取的数据包括:
video-视频模块
user-用户模块
dynamic-动态模块
这次用“Running Man”十周年特辑的视频,来做个获取弹幕的Demo。如果你也爱看“RM”,那我们就是好朋友。
我是对比
没有对比,就没有伤害,就像最近的“哈工大”某学生和“浙大”某学生一样。
这是之前获取弹幕的过程:
1、弹幕数据接口
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对象,传入两个参数:
bvid="BV1gC4y1h722"(视频的BV号)
verify=verify(根据sessdata和csrf,获取弹幕)
获取的弹幕数据为“Danmaku类”的列表,通过遍历,打印它的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站视频和用户的数据,至于数据获取下来怎么玩,就看自己的想象力啦~
源码下载
后台回复 “ rm ” 即可获取
另外,我想知道有小伙伴和我一样喜欢看“Running Man”的嘛?评论、在看走一波呗!
下回见...
-END-
往期精彩推荐 --
-- 1、这个在线代码编辑器,可以分享给任何人-- 2、Python 造假数据,用Faker就够了
-- 3、在Python中玩转Json数据
-- 你 “三连” 了吗?
bilibili_api,仅用 3 行代码获取B站(弹幕、评论、用户)数据相关推荐
- 大道至简,仅需4行代码提升多标签分类性能!ICCV21 南大提出Residual Attention
▊ 写在前面 多标签图像识别是一项具有挑战性的计算机视觉任务.然而,目前解决这一任务的方法复杂.计算量大.缺乏直观解释 .为了能够有效地感知不同类别物体所占据的空间区域,作者提出了一个非常简单的模块, ...
- OpenCV-Python实战(14)——人脸检测详解(仅需6行代码学会4种人脸检测方法)
OpenCV-Python实战(14)--人脸检测详解(仅需6行代码学会4种人脸检测方法) 0. 前言 1. 人脸处理简介 2. 安装人脸处理相关库 2.1 安装 dlib 2.2 安装 face_r ...
- python爬虫代码1000行-最精简的爬虫 --仅需4行代码(python)
最精简的爬虫 --仅需4行代码(python) 刚刚整理了下爬虫系列,于是乎就开始了第一次的技术分享 今天,我们主要讲述的是思路,思路,思路. 相比起,直接贴代码,思路显的更为重要 当初,自己的坑,希 ...
- ios 自定义字体_如何仅用几行代码在iOS应用中创建一致的自定义字体
ios 自定义字体 by Yuichi Fujiki 藤木雄一 In this article, you'll learn how to create a unified custom look th ...
- python加密敏感信息_仅需10行代码,使用python加密用户敏感数据
原标题:仅需10行代码,使用python加密用户敏感数据 数据分析师必须要遵守的一个规则就是数据保密,但在跨部门沟通的时候,难免会有数据泄露的情况,所以,对于用户的姓名.手机号.地址等敏感信息,一般需 ...
- 最简单的爬虫代码 python_最精简的爬虫 --仅需4行代码(python)
最精简的爬虫 --仅需4行代码(python) 刚刚整理了下爬虫系列,于是乎就开始了第一次的技术分享 今天,我们主要讲述的是思路,思路,思路. 相比起,直接贴代码,思路显的更为重要 当初,自己的坑,希 ...
- python简单爬虫代码-最精简的爬虫 --仅需4行代码(python)
最精简的爬虫 --仅需4行代码(python) 刚刚整理了下爬虫系列,于是乎就开始了第一次的技术分享 今天,我们主要讲述的是思路,思路,思路. 相比起,直接贴代码,思路显的更为重要 当初,自己的坑,希 ...
- 神经网络 c++ 源码 可以直接复制运行,提供数据集,操作简单,最少仅需4行代码
神经网络 c++ 源码 可以直接复制运行,提供数据集,操作简单,最少仅需4行代码 本文的神经网络,让你省去Python那些花里胡哨的变量名,最少仅需4行代码即可完成自己的神经网络** 本文章采用c++ ...
- 如何仅用 300行代码养活自己一年,并将公司卖出?
编者按:创业需要超人的毅力,需要耐心,需要海盗般的勇气,并不是每个人都适合创业.但创业并不像你想象中的那么难,那么神秘,也不需要什么太伟大的创意.Felix Chan的亲身经历就是一个很好的例子.以下 ...
最新文章
- 搜狗输入法漏洞获取系统权限0day再述
- 4.Spring Security 添加图形验证码
- iis服务器文件上传速度慢,windows 2008 R2 上传速度慢
- p-unit - 单元级别开源性能测试框架
- small用于不连续数组_用Small、If、Index、Indirect、Row、Char、Match实现一对多查找...
- 20145209 《信息安全系统设计基础》第7周学习总结
- 运用Handler.post()方法进行数据更新跟用Message对比(18)
- android的快速开发框架,FastAndroid
- typora公式zuo对齐_latex公式如何居左对齐
- FreeModbus线圈
- 数据3分钟丨Apache Doris谴责DorisDB违背开源精神;HC2021下周召开;openGauss训练营第二期圆满落幕...
- 看过来,说的就是你!
- 在ubuntu中安装DroidCam
- matlab多行注释
- 手把手教你在Linux系统进行项目部署
- 人人都在推销(销售永不为“奴”)
- 哈工大计算机系统2022大作业:程序人生-Hello‘s P2P
- Ubuntu18.04之微信中文乱码解决(五十八)
- 前端重要信息手机号、邮箱、身份证号进行脱敏处理
- 计算机可以存储人类记忆吗,人类大脑究竟可以容纳多少东西?可以记住多少信息?...