Python分析《哈哈哈哈哈》第11期弹幕数据

本文针对《哈哈哈哈哈》第11期弹幕数据进行分析,提取弹幕中对五哈成员的提及次数。话不多说,上代码。

一、解析URL提取弹幕

# -*- coding = utf-8 -*-
# @Time : 2021/1/25 20:49
# @Author : 陈良兴
# @File : 11期.py
# @Software : PyCharmimport requests
import json
import time
import pandas as pdcsv = pd.DataFrame()
for page in range(15, 3000, 30):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}#《哈哈哈哈哈》11期上# url = 'https://mfm.video.qq.com/danmu?target_id=1227342321%26vid%3Dr0018hmh1pa&timestamp={}'.format(page)#《哈哈哈哈哈》11期下url = 'https://mfm.video.qq.com/danmu?target_id=6408292474%26vid%3Dx0035tnxiev&timestamp={}'.format(page)print("正在提取第" + str(page) + "页")html = requests.get(url,headers = headers)bs = json.loads(html.text,strict = False)   #strict参数解决部分内容json格式解析报错time.sleep(5)                               #每读取一个URL延迟3秒,避免被识别而报错#遍历获取目标字段for i in bs['comments']:name = i['opername']                    #昵称content = i['content']                  #弹幕upcount = i['upcount']                  #点赞数user_degree =i['uservip_degree']        #会员等级timepoint = i['timepoint']              #发布时间comment_id = i['commentid']             #弹幕idcache = pd.DataFrame({'用户名':[name],'弹幕':[content],'会员等级':[user_degree],'发布时间':[timepoint],'弹幕点赞':[upcount],'弹幕id':[comment_id]})csv = pd.concat([csv,cache])
csv.to_csv(r'.\templates\haha-11下.csv',encoding = 'utf-8')

二、数据合并

由于《哈哈哈哈哈》每一期都分为上下集,因此,需分别提取上下集弹幕数据,再进行整合,最后进行数据清洗。

# -*- coding = utf-8 -*-
# @Time : 2021/1/26 20:22
# @Author : 陈良兴
# @File : 数据合并.py
# @Software : PyCharmimport pandas as pdcsv1 = pd.read_csv("templates/haha-11上.csv")
csv1["期数"] = "10期上"
csv2 = pd.read_csv("templates/haha-11下.csv")
csv2["期数"] = "10期下"
csv = pd.concat([csv1,csv2])                        #将两个csv文件合并
csv.to_csv('haha第11期.csv',encoding = 'utf-8')      #存储合并后的csv文件
csv.info()                                          #查看数据信息

通过查看数据信息发现,出了用户名信息,其他数据量还是一致的。而本次只做弹幕内容分析,所以可以忽略数据清洗。

三、制作词云

制作词云所涉及的模块有jieba、matplotlib、wordcloud、PIL等。作用在代码中已注释,此处不再说明。

# -*- coding = utf-8 -*-
# @Time : 2021/1/25 12:12
# @Author : 陈良兴
# @File : 制作词云.py
# @Software : PyCharmimport jieba                                #分词
from matplotlib import pyplot as plt        #绘图,数据可视化
from wordcloud import WordCloud             #词云
from PIL import Image                       #图片处理
import numpy as np                          #矩阵运算
import csv#准备词云所需的文字(次)
with open('templates/haha第11期.csv', 'r', encoding='UTF-8') as f:             #读取csvreader = csv.reader(f)result = list(reader)text = ""
for item in range(len(result)):text = text + str(result[item][2])item +=1
# print(text)#jieba分词
cut = jieba.cut(text)
string = ' '.join(cut)
print(len(string))img = Image.open(r'.\statics\123.png')                      #打开遮罩图片
img_array = np.array(img)                                   #将图片转化为数组
wc = WordCloud(background_color='white',mask=img_array,font_path="STXINGKA.TTF"                                 )
wc.generate_from_text(string)#绘制图片
fig = plt.figure(1)
plt.imshow(wc)
plt.axis('off')                 #是否显示坐标轴# plt.show()                  #显示生成的词云图片#输出词云图片到文件
plt.savefig(r'.\statics\wordcloud.jpg')            #设置分辨率dpi=500,不设置则采用默认dpi

生成词云的效果:

图1 图2
图3 图4
图5 图6

四、制作数据可视化图表

通过数据可视化,能够直观的对比五哈成员在弹幕中的提及次数,但并不能说明提及次数高的就是受欢迎的,还需对弹幕内容进行情感分析,学识有限,仅止于此。
       本次使用的是Apache ECharts,一个基于JavaScript 的开源可视化图表库,可以根据自己的需要去选图。(Apache ECharts链接http://echarts.apache.org/zh/index.html)


Python分析《哈哈哈哈哈》第11期弹幕数据相关推荐

  1. 用 Python 分析了 20 万场吃鸡数据,看看玩家群体是怎么样的

    首先,神枪镇楼 背景 最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波. 上周在在微信游戏频道看战绩的时候突发奇想,是不是可以通过这个方式抓取到很多战斗数 ...

  2. python生成一个20万数据_用Python分析了20万场吃鸡数据,有不少有趣的发现

    首先,神枪镇楼 背景 最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波. 上周在在微信游戏频道看战绩的时候突发奇想,是不是可以通过这个方式抓取到很多战斗数 ...

  3. python枪战项目计划书_用python分析了20万场吃鸡数据

    首先,神枪镇楼 背景 最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波. 上周在在微信游戏频道看战绩的时候突发奇想,是不是可以通过这个方式抓取到很多战斗数 ...

  4. 用 Python 分析了 20 万场吃鸡数据

    首先,神枪镇楼 背景 最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波. 上周在在微信游戏频道看战绩的时候突发奇想,是不是可以通过这个方式抓取到很多战斗数 ...

  5. 我们用Python分析了B站4万条数据评论,揭秘本山大叔《念诗之王》大热原因!...

    来源:恋习Python 本文约2000字,建议阅读10分钟. 我们通过Python大法通过获取B站:[春晚鬼畜]赵本山:我就是念诗之王!4万条数据评论,与大家一起看看其背后火起来的原因. 1990年本 ...

  6. 用Python分析了20万场吃鸡数据,有不少有趣的发现

    首先,神枪镇楼: 背景 最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波. 上周在在微信游戏频道看战绩的时候突发奇想,是不是可以通过这个方式抓取到很多战斗 ...

  7. 小伙用Python 分析了 20 万场吃鸡数据

    2019独角兽企业重金招聘Python工程师标准>>> 最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波. 上周在在微信游戏频道看战绩的 ...

  8. 用Python分析了5万条相亲网站数据,看相亲男女画像

    这短短的一生,我们最终都会失去.你不妨大胆一些,爱一个人,攀一座山,追一个梦. 一.前言 数据来源:https://www.zhenai.com/zhenghun/ 本文利用 Python 分析了按城 ...

  9. python分析股票主力_python如何获取股票数据,python股票分析系统

    内容导航: Q1:怎样用python处理股票 用Python处理股票需要获取股票数据,以国内股票数据为例,可以安装Python的第三方库:tushare:一个国内股票数据获取包.可以在百度中搜索&qu ...

最新文章

  1. 恕我直言,微服务挺好,但不适合你
  2. Excel教程(12) - 数学和三角函数
  3. nordic 协议栈区别
  4. Centos 7 docker 拉取镜像慢
  5. JVM对象占用内存计算
  6. 数据库链、物化视图、高级复制方面
  7. SQLite学习手册(索引和数据分析/清理)-转
  8. ActiveMQ简单介绍以及安装
  9. 献给攻击者,请放弃攻击吧,这样只会浪费自己的青春+金钱
  10. abaqus结果名称
  11. 32位win10服务器系统,32位win10原版
  12. IDEA报Invalid bound statement (not found)错误解决办法
  13. 【Oracle】《Oracle Database 10g SQL 开发指南》中示例文件store_schema.sql的bug修复
  14. Receptive Field Block Net 论文阅读
  15. Theorem、Proposition、Lemma和Corollary等的解释与区别
  16. 玩客云添加到我的计算机,电脑连接玩客云访问玩客云硬盘空间传输文件方法
  17. 获取与设置windows系统下音频设备音量
  18. 轻量级模型设计与部署总结(关键字定义/架构理解/高效CNN)
  19. .dll处位于.exe中引发的异常:0xC0000005:读取位置XXX时发生访问冲突
  20. 感知机算法基础形式及对偶形式算法

热门文章

  1. 读《筚路蓝缕——世纪工程决策建设记述》II
  2. 微信之父张小龙:你说我是错的,那你最好证明你是对的!
  3. java默认字体_设置 Java 系统的默认字体
  4. MySQL可重复读隔离级别能解决幻读吗?
  5. leetcode常用思路总结与文章索引
  6. 旗舰版win7系统电脑administrator密码忘记了破解
  7. ios 结构体跟枚举变量的区别_IOS结构体、联合、枚举
  8. Launcher3 安装App加载显示过程分析,androidstudio开发app实例
  9. ROS学习笔记publisher的编程实现c++详解
  10. 我整理了一些Python测试的库,看一下有没有你需要的库