今天介绍一个获取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站(弹幕、评论、用户)数据相关推荐

  1. 大道至简,仅需4行代码提升多标签分类性能!ICCV21 南大提出Residual Attention

    ▊ 写在前面 多标签图像识别是一项具有挑战性的计算机视觉任务.然而,目前解决这一任务的方法复杂.计算量大.缺乏直观解释 .为了能够有效地感知不同类别物体所占据的空间区域,作者提出了一个非常简单的模块, ...

  2. OpenCV-Python实战(14)——人脸检测详解(仅需6行代码学会4种人脸检测方法)

    OpenCV-Python实战(14)--人脸检测详解(仅需6行代码学会4种人脸检测方法) 0. 前言 1. 人脸处理简介 2. 安装人脸处理相关库 2.1 安装 dlib 2.2 安装 face_r ...

  3. python爬虫代码1000行-最精简的爬虫 --仅需4行代码(python)

    最精简的爬虫 --仅需4行代码(python) 刚刚整理了下爬虫系列,于是乎就开始了第一次的技术分享 今天,我们主要讲述的是思路,思路,思路. 相比起,直接贴代码,思路显的更为重要 当初,自己的坑,希 ...

  4. ios 自定义字体_如何仅用几行代码在iOS应用中创建一致的自定义字体

    ios 自定义字体 by Yuichi Fujiki 藤木雄一 In this article, you'll learn how to create a unified custom look th ...

  5. python加密敏感信息_仅需10行代码,使用python加密用户敏感数据

    原标题:仅需10行代码,使用python加密用户敏感数据 数据分析师必须要遵守的一个规则就是数据保密,但在跨部门沟通的时候,难免会有数据泄露的情况,所以,对于用户的姓名.手机号.地址等敏感信息,一般需 ...

  6. 最简单的爬虫代码 python_最精简的爬虫 --仅需4行代码(python)

    最精简的爬虫 --仅需4行代码(python) 刚刚整理了下爬虫系列,于是乎就开始了第一次的技术分享 今天,我们主要讲述的是思路,思路,思路. 相比起,直接贴代码,思路显的更为重要 当初,自己的坑,希 ...

  7. python简单爬虫代码-最精简的爬虫 --仅需4行代码(python)

    最精简的爬虫 --仅需4行代码(python) 刚刚整理了下爬虫系列,于是乎就开始了第一次的技术分享 今天,我们主要讲述的是思路,思路,思路. 相比起,直接贴代码,思路显的更为重要 当初,自己的坑,希 ...

  8. 神经网络 c++ 源码 可以直接复制运行,提供数据集,操作简单,最少仅需4行代码

    神经网络 c++ 源码 可以直接复制运行,提供数据集,操作简单,最少仅需4行代码 本文的神经网络,让你省去Python那些花里胡哨的变量名,最少仅需4行代码即可完成自己的神经网络** 本文章采用c++ ...

  9. 如何仅用 300行代码养活自己一年,并将公司卖出?

    编者按:创业需要超人的毅力,需要耐心,需要海盗般的勇气,并不是每个人都适合创业.但创业并不像你想象中的那么难,那么神秘,也不需要什么太伟大的创意.Felix Chan的亲身经历就是一个很好的例子.以下 ...

最新文章

  1. 搜狗输入法漏洞获取系统权限0day再述
  2. 4.Spring Security 添加图形验证码
  3. iis服务器文件上传速度慢,windows 2008 R2 上传速度慢
  4. p-unit - 单元级别开源性能测试框架
  5. small用于不连续数组_用Small、If、Index、Indirect、Row、Char、Match实现一对多查找...
  6. 20145209 《信息安全系统设计基础》第7周学习总结
  7. 运用Handler.post()方法进行数据更新跟用Message对比(18)
  8. android的快速开发框架,FastAndroid
  9. typora公式zuo对齐_latex公式如何居左对齐
  10. FreeModbus线圈
  11. 数据3分钟丨Apache Doris谴责DorisDB违背开源精神;HC2021下周召开;openGauss训练营第二期圆满落幕...
  12. 看过来,说的就是你!
  13. 在ubuntu中安装DroidCam
  14. matlab多行注释
  15. 手把手教你在Linux系统进行项目部署
  16. 人人都在推销(销售永不为“奴”)
  17. 哈工大计算机系统2022大作业:程序人生-Hello‘s P2P
  18. Ubuntu18.04之微信中文乱码解决(五十八)
  19. 前端重要信息手机号、邮箱、身份证号进行脱敏处理
  20. 计算机可以存储人类记忆吗,人类大脑究竟可以容纳多少东西?可以记住多少信息?...

热门文章

  1. app 登录成功后 保存登录账号 密码 以及读取
  2. 快看快看,这款免费的低代码平台绝绝子
  3. 弘辽科技:淘宝流量不稳定该如何应对
  4. 浏览器查找文献\论文\资料\文档的小技巧
  5. nmbd samba中文
  6. 距离(distance)算法小结
  7. Python密度和轮廓图绘制--Matplotlib详解
  8. python 实现任务管理清单案例
  9. 如何用待办工具组织每周的任务清单
  10. MLY -- 14.Evaluating multiple ideas in parallel during error analysis