python爬取b站评论,制作词云图(简易版)+情感分析圆饼图

您所在的位置:网站首页 词云图在线制作 python爬取b站评论,制作词云图(简易版)+情感分析圆饼图

python爬取b站评论,制作词云图(简易版)+情感分析圆饼图

2023-03-13 18:04| 来源: 网络整理| 查看: 265

这是一篇学习词云图的记录 一、安装pycharm以及解释器

安装教程,提示:安装免费社区版、解释器安装时勾选自动生成环境变量(方便cmd中直接调用)

二、初步熟悉python语言

视频教学,有语言基础可两倍速观看,了解基本数据类型和语法即可,或者直接看这个视频教程,这个是专门针对爬虫的教学,视频后半部分需要HTML、CSS、JavaScript等前端知识。

三、对b站的网址参数初步了解

b站小教程,对网址的资源数据有一点了解即可

四、正式上手

先创建一个项目如果不会的可以看这个教程

创建后,如果有需要,可以先汉化pycharm,有官方推出的汉化包

打开设置 插件中的汉化包 五、包含头文件 需要的头文件

如果是第一次使用需要下载对应的库,如下:

packages 输入需要的库文件名

在这里可以下载各种库,python最出名的就是丰富的库,不过老版本pycharm可能没有这么方便,所以,除此之外还有两种方法:添加库。

六、获取b站评论 获取评论

这段代码就是获取b站评论,其中bv号是下面圈红的部分(bv号包含BV):

b站网址

代码中不理解数据名称(‘page’、‘count’等)含义的,可以print代码中的c变量,其中包含很多信息,根据需求可以取不同内容。另外,这个获取评论的代码是bilibili_api库中的范例,可以通过下面途径到gitee中查看:

bilibili_api

点击GitHub进入网站,进入最新网址后,找到如下文件:

案例

这里面就有关于获取comment等许多案例(弹幕、视频等),其中会涉及到异步的用法,可以查阅资料了解一下:异步async,这里顺便贴一下库中的获取评论代码的版本:

获取评论数据 七、存储评论 存储评论

传入的dict就是之前存储的comments,path就是写入的文件地址,比如'E:/BiliBili评论.txt'。其次,我这里只是将评论的作者和评语存入txt文档中,有其它需要可以打印变量c来看存储的数据。

八、生成词云图 生成词云图

其中设置停用词,不知道网上有没有现成的库,可以找一下。还有词云图能设置背景图片、字体等,有需要可以查阅一下资料。

九、生成效果

词云图

很简易^_^,因为停用词写的还不够。

另外,附上源码,密码1234,注意:源码中没有集中写处理函数的入口,所有的调用都是在main函数中;运行完清空文件数据内容的、打印数据的代码都可以注释掉;新的停用词库可以用for循环加readline读到数组中使用,再添加词用extend,如:

如果需要读取更多的评论数据如评论时间等,需要了解b站数据的存储(字典嵌套方式),找到对应的key即可,如:

字典中的数据

记录一个实用的百度库,可以用来做情感分析:情感分析

十、更新:加入了情感分析功能10.1包含头文件

情感分析和圆饼图

因为着急使用,选择了现成的情感分析库:baidu-aip(安装这个),会用到其中的AipNlp类,这个是百度智能云中的一个功能,其次是画圆饼图需要用到的库:matplotlib,最后,还需安装一个chardet库,这个是AipNlp中import的库,如果不安装运行会报错。

10.2注册百度智能云账号获取函数参数

因为调用百度智能云的情感分析库函数时,需要三个参数APP_ID、API_KEY、SECRET_KEY,这些都是在网址中获得的。

首先登录百度智能云网址,注册完账号后,找到自然语言处理:

自然语言处理

进入概览:

概览

点击创建应用:

创建应用

创建完成,获取重要参数:

重要参数

记录下这三个参数,编程需要用到。

10.3情感分析函数

创建AipNlp对象

情感分析

这部分是将已经收集好的评论数据的txt文档进行循环按行读取,并用a,b,c三个变量记录消极、中性、积极词性的次数,通过sentimentClassify函数获取情感分析结果,情感分析返回的结果类型如下:

情感分析结果

可以看出返回类型是字典,其中字典中‘items’嵌套了一个列表,列表的元素又是字典,最后sentiment就是我们需要的词性。

10.4绘制圆饼图

绘制圆饼图

其中pie的参数说明可以查看圆饼参数说明,最后按顺序调用函数即可。

10.5生成效果

圆饼图

最后附上情感分析源代码和新的停用词文档:密码1234



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3