3行Python代码采集B站(弹幕、评论、用户)数据
今天介绍一个获取B站数据的Python扩展库-bilibili_api
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771
可以获取的数据包括:
video-视频模块
user-用户模块
dynamic-动态模块
这次用“Running Man”十周年特辑的视频,来做个获取弹幕的Demo。
我是对比
没有对比,就没有伤害,就像最近的“哈工大”某学生和“浙大”某学生一样。
这是之前获取弹幕的过程:
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”
1)安装过程
安装需要依赖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站视频和用户的数据,至于数据获取下来怎么玩,就看自己的想象力啦~
本文相关源码下载:https://alltodata.cowtransfer.com/s/6c255cd808b742
3行Python代码采集B站(弹幕、评论、用户)数据相关推荐
- python爬取b站弹幕并进行数据可视化
python爬取b站弹幕并进行数据可视化 1.第一步,爬取b站弹幕 我们随便打开一个b站视频 打开开发者模式,在network下搜索list,可以找到该视频的弹幕文件 打开之后是这个样子的 结构还是比 ...
- 不到70行 Python 代码,轻松玩转 RFM 用户分析模型(附案例数据和代码)
作者 | 周志鹏 责编 | 刘静 本文从RFM模型概念入手,结合实际案例,详解Python实现模型的每一步操作,并提供案例同款源数据,以供同学们知行合一. 注:想直接下载代码和数据的同学可以空降文末 ...
- python层次分析模型_不到70行Python代码,轻松玩转RFM用户分析模型
本文从RFM模型概念入手,结合实际案例,详解Python实现模型的每一步操作,并提供案例同款源数据,以供同学们知行合一. 注:想直接下载代码和数据的同学可以空降文末 看这篇文章前源数据长这样: 学完后 ...
- 曝肝三天,两千行Python代码,制作B站视频下载工具(附源码)
曝肝三天,两千行Python代码,制作B站视频下载工具(附源码) 文章目录 一.准备工作 二.预览 1.启动 2.解析 3.下载中 4.下载完成 5.结果 三.设计流程 1.bilibili_vide ...
- Python爬取B站弹幕方法介绍
Python爬取B站弹幕方法介绍 文章目录 Python爬取B站弹幕方法介绍 前言 寻找弹幕数据 编写爬虫 B站弹幕数量 新技术介绍 参考文章 前言 最近同学要做东西,需要用 B 站的视频对应的弹幕数 ...
- python接收弹幕_闲着没事,尝试一下用Python爬取B站弹幕呀~
原标题:闲着没事,尝试一下用Python爬取B站弹幕呀~ 前言 最近同学要做东西,需要用 B 站的视频对应的弹幕数据做分析,于是请我帮忙爬取 B 站视频的弹幕数据. 对于爬虫而言,我们需要找到对应数据 ...
- 聚类 python 代码_不足 20 行 Python 代码,高效实现 k-means 均值聚类算法
下载好向圈APP可以快速联系圈友 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 不足 20 行 Python 代码,高效实现 k-means 均值聚类算法-1.jpg (143.81 KB, ...
- 萌新学习Python爬取B站弹幕+R语言分词demo说明
代码地址如下: http://www.demodashi.com/demo/11578.html 一.写在前面 之前在简书首页看到了Python爬虫的介绍,于是就想着爬取B站弹幕并绘制词云,因此有了这 ...
- bert获得词向量_只需几行 Python 代码,即可用 BERT 玩转词嵌入!
作者 | Anirudh_S 译者 | Sambodhi 编辑 | 张之栋 AI 前线导读: 在自然语言处理领域中,诞生于 2018 年末的 BERT 非常的"火热".强悍如 BE ...
最新文章
- VM虚拟机的配置文件(.vmx)损坏修复
- 网站被黑你隔了多久才知道?
- PropertyGrid 控件使用方法
- Spark 【数据挖掘平台介绍】 - Spark 1.1.0(看范式粒度)
- springcloud maven打包部署
- 03:计算书费【一维数组】
- JavaScript遭嫌弃,“反JS”主义者兴起
- LinkedList类源码阅读
- 事务的四大特性-ADID特性
- 怎样调整计算机视角,电脑调节不了CAD极轴角度怎样解决|电脑中调节CAD极轴角度的方法...
- 小米体脂秤2内部方案一览,附拆解维修记录
- hdu6608 Fansblog(威尔逊定理)
- mysql association_mybatis 一对一与一对多collection和association的使用
- execl批量创建文件夹乱码解决方案
- ABB机器人 String 的读取和写入
- 关于vim gf问题
- 【产品经理】手绘风格在网页设计中的运用
- 电脑html连接电视无信号,康佳液晶电视与电脑连接后无信号输入怎么解决?
- Vim/Cscope使用
- 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?