目录
一、背景介绍
二、爬虫代码
三、可视化代码
3.1 读取数据
3.2 数据清洗
3.3 可视化
3.3.1 IP属地分析-柱形图
3.3.2 评论时间分析-折线图
3.3.3 点赞数分布-直方图
3.3.4 评论内容-情感分布饼图
3.3.5 评论内容-词云图
四、演示视频
一、背景介绍
您好,我是@马哥python说,一枚10年程序猿。
2023开年这段时间,《狂飙》这部热播剧引发全民追剧,不仅全员演技在线,更是符合反黑主旋律,因此创下多个收视率记录!
基于此热门事件,我用python抓取了B站上千条评论,并进行可视化舆情分析,下面详细讲解代码。
二、爬虫代码
爬虫部分不做讲解。
三、可视化代码
为了方便看效果,以下代码采用jupyter notebook进行演示。
3.1 读取数据
用read_csv读取刚才爬取的评论数据:
读取数据
查看前3行及数据形状:
前3行
3.2 数据清洗
数据清洗
3.3 可视化
3.3.1 IP属地分析-柱形图
柱形图
可得结论:TOP10地区中,评论里关注度最高为广东、山东、江苏等地区,其中,广东省的关注度最高。
3.3.2 评论时间分析-折线图
分析出评论时间的分布情况:
折线图
可得结论:关于”狂飙”这个话题,在抓取到的数据范围内,2月2日的评论数据量最大,网友讨论最热烈,达到了将近1200的数量峰值。
3.3.3 点赞数分布-直方图
由于点赞数大部分为0或个位数情况,个别点赞数到达成千上万,直方图展示效果不佳,因此,仅提取点赞数
直方图
可得结论:从直方图的分布来看,点赞数在0-3个的评论占据大多数,很少点赞数达到了上千上万的情况。证明网友对狂飙这部作品的态度分布比较均匀,没有出现态度非常聚集的评论内容。
3.3.4 评论内容-情感分布饼图
针对中文评论数据,采用snownlp开发情感判定函数:
情感判定
情感分布饼图,如下:
饼图
可得结论:关于狂飙这部电视剧,网友的评论情感以正面居多,占据了70.43%,说明这部电视剧获得了网友们很高的评价。
3.3.5 评论内容-词云图
除了哈工大停用词之外,还新增了自定义停用词:
停用词
jieba分词之后,对分词后数据进行绘制词云图:
词云图
可得结论:在词云图中,阳、感染、发烧、症状、疼、嗓子等词汇较大,出现频率较高,反应出众多网友对确诊阳性后描述病症、积极探讨病情的现状。
附原始背景图,可对比看:(需要先人物抠图)
背景图
四、演示视频
代码演示视频:【爬虫+数据清洗+数据可视化】用python分析”狂飙”的B站评论
五、获取源码
完整源码:【爬虫+数据清洗+可视化分析】舆情分析哔哩哔哩”狂飙”的评论
我是马哥,全网累计粉丝上万,欢迎一起交流python技术。
各平台搜索“马哥python说”:知乎、哔哩哔哩、小红书、新浪微博。