这是一篇学习词云图的记录
一、安装pycharm以及解释器
安装教程,提示:安装免费社区版、解释器安装时勾选自动生成环境变量(方便cmd中直接调用)
二、初步熟悉python语言
视频教学,有语言基础可两倍速观看,了解基本数据类型和语法即可,或者直接看这个视频教程,这个是专门针对爬虫的教学,视频后半部分需要HTML、CSS、JavaScript等前端知识。
三、对b站的网址参数初步了解
b站小教程,对网址的资源数据有一点了解即可
四、正式上手
先创建一个项目,如果不会的可以看这个教程
创建后,如果有需要,可以先汉化pycharm,有官方推出的汉化包
五、包含头文件
如果是第一次使用需要下载对应的库,如下:
在这里可以下载各种库,python最出名的就是丰富的库,不过老版本pycharm可能没有这么方便,所以,除此之外还有两种方法:添加库。
六、获取b站评论
这段代码就是获取b站评论,其中bv号是下面圈红的部分(bv号包含BV):
代码中不理解数据名称(‘page’、‘count’等)含义的,可以print代码中的c变量,其中包含很多信息,根据需求可以取不同内容。另外,这个获取评论的代码是bilibili_api库中的范例,可以通过下面途径到gitee中查看:
点击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情感分析函数
这部分是将已经收集好的评论数据的txt文档进行循环按行读取,并用a,b,c三个变量记录消极、中性、积极词性的次数,通过sentimentClassify函数获取情感分析结果,情感分析返回的结果类型如下:
可以看出返回类型是字典,其中字典中‘items’嵌套了一个列表,列表的元素又是字典,最后sentiment就是我们需要的词性。
10.4绘制圆饼图
其中pie的参数说明可以查看圆饼参数说明,最后按顺序调用函数即可。
10.5生成效果
最后附上情感分析源代码和新的停用词文档:密码1234
十一、2023.10.06更新
有些链接已经失效,提供两种解决思路,第一github有一些开源爬虫可以找一找stars比较高的,第二比如(后羿、八爪等国产软件学一学也可以用),情感分析也有很多现成的库,如果爬下来数据不会写代码就借助chatgpt呗(o.0)。