https open api_通过bilibili_api获取弹幕+绘制词云的方法
刚接触python 随手做一些自己感兴趣的项目,看到了一个通过bilibili_api三行代码获取弹幕的教程(vx公号:天作之程(jhtmtzzc))使用的是bilibili_api ,是2020年1月份发布的接口,可以很方便的获取弹幕、视频信息、评论等。
由于自己学艺不精,后续词云的简略代码没怎么看懂,梳理了一遍把整个的学习内容记录下来。主要参考的为bilibili_api的教程和词云的生成教程(https://blog.csdn.net/itanders/article/details/88858415)
自己的环境:python3.7;pycharm编译器
一、bilibili_api获取弹幕
这部分代码如下:
#爬取bilibili弹幕from bilibili_api import Verifyfrom bilibili_api.video import VideoInfofrom bilibili_api.video import Danmakuverify = Verify(sessdata="自己的sessdata",csrf="bili_jct")video_info = VideoInfo(bvid="BV1JE411g7XF",verify=verify)f = open(r'D:学习LMY_pythonlearnbilibili.txt','a')danmu = video_info.get_danmaku()for i in danmu: f.write(i.text)f.close()1234567891011
首先要给verify指定的登录信息:sessdata和csrf,在b站登录帐号后,chrome获取sessdata途径如下:
点击地址栏的小锁头
打开coockie
打开bilibili的cookie 找到sessdata,复制即可。
csrf我没找到,直接用的文章里给的值:bili_jct
最后将爬取的弹幕存到txt文档里面:
弹幕获取完成。
二、绘制词云
利用了jieba进行分词,然后用wordcloud绘制词云,matplot可视化。代码如下:
import jiebaimport numpy as npfrom pathlib import Pathfrom PIL import Imagefrom wordcloud import WordCloud,ImageColorGeneratorfrom matplotlib import pyplot as pltdef split_text(text): #用于jieba分词 word_list = ' '.join(jieba.cut(text)) return word_listdef draw_wordcloud(text,image_mask):#以给定图片为轮廓显示词云 alice_mask = np.array(Image.open(image_mask)) wc = WordCloud(background_color="white", max_words=20, mask=alice_mask, contour_width=3,font_path = 'D:/学习/LMY_pythonlearn/msyh.ttf') wc.generate(text) image_Colors = ImageColorGenerator(alice_mask) plt.figure(figsize=(14,8)) # 创建词云图 plt.imshow(wc.recolor(color_func= image_Colors ), interpolation='bilinear') plt.axis('off') plt.show()text_path = Path('bilibili.txt')with text_path.open(encoding='GB18030') as f: text_content = f.read()bilibili = split_text(text=text_content)draw_wordcloud(text=str(bilibili),image_mask='alicepic.png')123456789101112131415161718192021222324252627282930
需要注意的地方:
10行:jieba.cut返回的是一个generator,里面并不包含分割好的词,下一步用join时才执行计算。
16行:生成的词云需要指定字体,不然出来的词都是框框。无法显示,给个字体路径就好了。
30行:由于WordCloud词云读取的文本必须以字符串或者二进制形式输入,否则会报错TypeError: expected string or bytes-like object的关系,所以我们强制将jieba分词返回的list类型内容转换为str类型。
源码记得私信小编01怕
https open api_通过bilibili_api获取弹幕+绘制词云的方法相关推荐
- 介绍四种绘制词云图的方法
公众号后台回复"图书",了解更多号主新书内容 作者:叶庭云,https://blog.csdn.net/fyfugoyfa 一.词云图 词云图是一种用来展现高频关键词的可视化表达, ...
- 在SAP分析云里根据业务数据绘制词云(Word Cloud)
词云(WordCloud)的概念,据网络上搜索到的资料,最早由美国一位新闻学专业的副教授提出,对文本中出现频率较高的关键词予以视觉上的突出,一般采取"出现频次越高,关键词渲染尺寸越大&quo ...
- 详解使用Python爬取豆瓣短评并绘制词云
使用Python爬取豆瓣短评并绘制词云 成果如下(比较丑,凑合看) 1.分析网页 打开想要爬取的电影,比如<找到你>,其短评如下: 查看源代码 发现短评存放在<span>标签里 ...
- 用Python采集《雪中悍刀行》弹幕做成词云实例
大家好,本篇文章主要讲的是用Python采集<雪中悍刀行>弹幕做成词云实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下.编程学习资料点击免费领取 目录 前言 知识点介绍 环境介 ...
- 爬取电影评论并绘制词云
一 获取豆瓣最新电影的id号和电影名 import requests from bs4 import BeautifulSoup url='https://movie.douban.com/cinem ...
- 用python做词云 包含:处理词云形状+分词+绘制词云
用python制作词云 包含:处理词云形状+分词+绘制词云 以下代码不超过100行 1.处理词云形状 你可能想把词云做成不同的形状,例如方形.圆形,甚至更复杂的,例如一个人体形状. 首先选一张背景为纯 ...
- 用python画苹果_Python爬取京东Iphone X用户评论并绘制词云
目标爬取京东商城上iPhone X用户评论数据: 使用jieba对评论数据进行分词处理: 使用wordcloud绘制词云图. 目前京东商城只会展示商品的前100页评论,所以我们能爬取到的评论只有100 ...
- 【Python】文本情感分析及绘制词云
码字不易,喜欢请点赞!!! 这篇文章主要分享了使用Python来对文本数据进行情感分析以及绘制词云. 主要步骤包括: 1.文本预处理 2.文本分词 3.去除停用词(这里设置为单个词和一些常见的停用词) ...
- [弹幕词云姬]硬核b站up主一周撸出来的小工具,根据b站弹幕生成词云(一)
过去一周突然有个很不错的想法,想用b站的弹幕来生成一个词云的效果.于是辛苦奋战一周,大概花了十个小时左右,整出了这个全新的小工具--<词云弹幕姬>访问地址http://danmu.xiez ...
最新文章
- Facebook开源多款AI工具,支持游戏、翻译等
- 使用 IDEA 开发工具(版本为 IntelliJ IDEA 14.1.4)打可执行jar包的操作步骤
- mysql分页tmp_count,MySQL MyISAM和InnoDB引擎的写入速度优化比较,分页速度优化
- 胖子哥大数据之路(一)-数据仓库也需要大数据
- 【Python】身体质量指数BMI
- SegmentFault 高阳:从开发者到创业者
- Erlang消息传递-tut15.erl
- 树莓派的wifi网络
- 环信关闭通信时的日志记录
- java中对于框架的理解_接触Java项目一周后对一些基本框架的理解 | 学步园
- nvidia控制面板点了没反应win7_n卡控制面板没有显示选项修复方法_win7系统nvidia控制面板没有显示选项最佳设置...
- 神经网络-神经元模型、Hebb学习
- 计算机怎么安错误,电脑安装软件时提示安装过程出错系统设置未被修改怎么办...
- Unity iOS使用ASTC格式纹理实践
- PPT课件实现连连看游戏——简单好用
- cyusb3014数据传输出错和蓝屏的问题
- 百度智能云落子贵阳,工业互联网进入新赛段
- 如何批量将png格式改成jpg?
- 股神巴菲特有多少钱?股神巴菲特的故事
- T1113 整理药名
热门文章
- B/S开发框架Web安全问题及防范规范之挂马和WebShell
- (转)十分钟入门pandas
- 1.1 HTML5简介
- 插件 KSImageNamed 用图片时自动显示图片缩略图
- Castle ActiveRecord学习实践(8)HQL查询
- 案例:实现用户注册功能
- python考试pass or fail_Pytest官方教程-12-skip及xfail: 处理不能成功的测试用例
- sublime怎么运行go_使用SublimeGDB调试Go程序
- UI设计灵感|插画在App设计中有哪些常用方式?
- 在集设把优秀的设计合集,轻松追寻设计灵感