CSDN|9 万条弹幕告诉你,《乘风破浪的姐姐》里谁才是真正的C位?( 二 )
- 初评舞台分数和年龄、出道年数没有显著相关关系 。
- 年龄和个人特质、成团潜力的分数间存在低度负相关关系 , 年龄越大 , 个人特质和成团潜力的得分也就越低;
- 个人特质和成团潜力的打分之间存在高度正相关 , 即两者得分存在高则同高 , 低则同低的情况 。
本文插图
豆瓣总体评分分布
本文插图
看到具体评分分布 , 给出四星的最多 , 为38.2%;其次是5星 占比25% 。 看来观众普遍还是十分认可姐姐们的表现的 。短评词云图【CSDN|9 万条弹幕告诉你,《乘风破浪的姐姐》里谁才是真正的C位?】
本文插图
可以看到词云主要围绕的是"姐姐"、"节目"、"女团"展开 。 其中在需选手中宁静、万茜被提到的频率最高 。当然也有不少吐槽的点 , 大家的吐槽主要集中在:
- 评委杜华:不公平;30+的女性岁月积淀了魅力 , 评审却按照20岁女团的标准来;给丁当打分真是要气炸 。
- 黄晓明:从霸道总裁秒怂变小明 , 让人感觉尴尬不已
- 节目组:场景布置令人寒酸 , 摄影差 , 灯光差 , 布景差 。
- 黄圣依:等黄圣依淘汰了我再改成五星 , 谢谢 。
- 分析网页 , 弹幕数据是动态加载的 , 因此通过Chrome浏览器进行抓包分析并获取真实的URL请求地址;
- 使用selenium请求网页数据;
- 使用正则表达式re将文本中的HTML提取出来 , 使用json进行解析;
- 使用pandas进行数据的保存 。
本文插图
二、获取并解析数据具体代码如下:# 导入包import pandas as pdimport timeimport reimport jsonfrom selenium import webdriver# 打开Chrome(需配置webdriver)browser = webdriver.Chromedef get_mgtv_danmu(month_num, day_num, num1, num2): step = 1 df_all = pd.DataFramewhile True: try: # 第一集URL danmu_url = 'https://bullet-ws.hitv.com/bullet/2020/{}/{}/{}/{}/{}.json'.format(month_num, day_num, num1, num2, step)# 打印进度 print('正在获取第{}页的信息'.format(step)) step += 1 # 获取弹幕 browser.get(danmu_url)# 休眠3秒 time.sleep(3)# 提取数据 pattern1 = re.compile(r'<html><head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">') pattern2 = re.compile(r'</pre></body></html>')data1 = re.sub(pattern1, '', browser.page_source) data2 = re.sub(pattern2, '', data1)# 解析数据 js_data = http://news.hoteastday.com/a/json.loads(data2)# 获取数据 all_data = js_data['data']['items']# id danmu_id = [i.get('id') for i in all_data] # uname uname = [i.get('uname') for i in all_data] # 内容 content = [i.get('content') for i in all_data] # 时间 danmu_time = [i.get('time') for i in all_data] # 点赞 up_count = [i.get('v2_up_count') for i in all_data] # 分钟 danmu_minites = step-1# 保存数据 df_one = pd.DataFrame({ 'danmu_id': danmu_id, 'uname': uname, 'content': content, 'danmu_time': danmu_time, 'up_count': up_count, 'danmu_minites': danmu_minites })# 循环追加 df_all = df_all.append(df_one, ignore_index=True)except Exception as e: print(e) print('没有此页面, 爬虫结束') breakreturn df_allif __name__ == '__main__': #df_1 = get_mgtv_danmu(month_num='06', day_num='21', num1=104556, num2=8337559)获取的数据以数据表的形式存储 , 如下所示:df.head
推荐阅读
- CSDN|由 Apache 说开,中国开源项目已经走向世界!
- CSDN|软件对于英特尔意味着什么?
- CSDN|中国首家苹果零售店重开业,苹果CEO库克发文揭幕;“携号转网”服务用户破千万;GitHub 完成北极源代码存档|极客头条
- 智能机器人|快商通智能客服云平台荣获CSDN“AI优秀案例实践奖”
- CSDN|万亿美元软件浪潮来临,开发者是核心!
- 行业互联网|快商通智能客服云平台荣获CSDN“AI优秀案例实践奖”
- CSDN|OpenInfra Days China 2020 官网正式上线,含免费注册通道!
- 网友|百万直男看电影首选虎牙八点档,弹幕梗与撕逼让人拍案叫绝
- CSDN|实战 | 对抗外部威胁防护和勒索病毒,大厂怎么做?
- CSDN|它估值 25 亿!被马云领投,是华为“老战友”,网友:也许股价能超茅台!
