用Python来揭秘吃瓜群众是如何看待罗志祥事件的
前言
最近娱乐圈可以说得上是热闹非凡,前有霸道总裁爱小三,正宫撕逼网红女,后有阳光大男孩罗志祥,被周扬青扒的名声扫地。贵圈的爱情故事,常人是难以理解的,正如贾旭明张康这段相声所说的这样,娱乐圈的爱情总是分分合合,成为老百姓茶余饭后的谈资,城外的人想进去,城里的人真会玩。
各种版本的洗白、谣言遍地乱飞,吃瓜网友们是如何看待的呢?
用数据说话,是数据工作者的意义所在,整个数据分析的过程分为三步:
- 数据获取
- 数据预处理
- 数据可视化及数据分析
以下是具体步骤和代码实现:
数据获取
数据获取地址:
'http://ent.163.com/20/0423/09/FASTLQ7I00038FO9.html'
在爬取评论数据之前,我们需要按F12对评论数据网页进行分析,可以发现共计172页,offset从0开始,每增加一页offset增加30,可以使用get方法获取。
核心代码:
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36'}
# 评论地址
url="http://comment.api.163.com/api/v1/products/a2869674571f77b5a0867c3d71db5856/threads/FASTLQ7I00038FO9/comments/newList?ibc=newspc&limit=30&showLevelThreshold=72&headLimit=1&tailLimit=2&offset={}"
# 循环爬取
df = pd.DataFrame(None)
i = 0
while True:
ret = requests.get(url.format(str(i*30)), headers=headers)
text = ret.text
result = json.loads(text)
t = result['comments'].values()
s = json_normalize(t)
i += 1
if len(s) == 0:
print("爬取结束")
break
else:
df = df.append(s)
print("第{}页爬取完毕".format(i)) df.to_csv('data.csv')
数据展示
数据预处理
数据预处理是数据可视化之前非常重要的一部分。包含数据读取、评论去重、数据格式转换等
import pandas as pd
#数据读取
df = pd.read_csv('data.csv')
# 评论去重
df=df.drop_duplicates('commentId').reset_index(drop=True)
#格式转换
df['new_time'] = df.apply(lambda x : x['createTime'].split(':',1)[0],axis=1)
数据分析及可视化
1.事件关注指数
从周扬青的微博、头条等平台的推送时间为4月23日9点,时间很准,足以说明为了这次离婚声明已准备有一段时间,绝非冲动所为。从发送内容上看,声明中开头略有调侃,后面刀刀见血,文笔也润色了不少。在事件发生后,关注指数来看,23日10点评论指数达到高峰,之后评论逐步减少。
2.网友评论词语分析
从词云图中我们不难看出,很多人为周扬青打抱不平,跟随九年,最后闹得如此收场。隔着屏幕,都可以感受到大众对罗志祥人品的愤怒,当然也能看着吃瓜群众的呵呵声。艺人是公众人物,一言一行都会给社会,特别青少年群体带来深远的影响。人品不仅仅是镜头下的人品,更是生活中的人品。“始于颜值,陷于才华,忠于人品”是大众对胡歌的赞誉,也是老百姓对文艺工作者的期许,这是罗志祥要改正的地方。
核心代码
import jieba.analyse
import os
from pyecharts.charts import WordCloud
from pyecharts.globals import SymbolType, ThemeType
from pyecharts.charts import Page
from pyecharts import options as opts
def get_comment_word(df):
# 集合形式存储-去重
stop_words = set()
print(stop_words) # 加载停用词
cwd = os.getcwd()
stop_words_path = cwd + '/stop_words.txt'
print(stop_words_path) with open(stop_words_path, 'r', encoding="ISO-8859-1") as sw:
for line in sw.readlines():
stop_words.add(line.strip())
print(stop_words) # 合并评论信息
df_comment_all = df['content'].str.cat() # 使用TF-IDF算法提取关键词
word_num = jieba.analyse.extract_tags(df_comment_all, topK=300, withWeight=True, allowPOS=())
print(word_num)
# 做一步筛选
word_num_selected = [] # 筛选掉停用词
for i in word_num:
if i[0] not in stop_words:
word_num_selected.append(i)
else:
pass return word_num_selected
3.爱留言的吃瓜群众来自何处
从上述图表中,我们可以看到广州、深圳、上海的网友留言位列前三名,喜欢评论的人基本处于一线城市、准一线城市,一方面是由于人口聚集量比较大,另外一方面为这些城市信息流通比较快。
核心代码
from snapshot_selenium import snapshot as driver
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.render import make_snapshot
df = df.groupby(['user.location']).agg({'序号':'count'}).reset_index()
df.rename(columns={'place':'user.location'}, inplace=True)
df = df[~df['user.location'].isin(['上海','中国','来自火星','火星'])]
df = df.sort_values(['序号'],axis = 0,ascending = False)
df_gb_top = df[:15] def bar_chart() -> Bar:
c = (
Bar()
.add_xaxis(list(df_gb_top['user.location']))
.add_yaxis("写评论Top15的地区", list(df_gb_top['序号']))
.reversal_axis()
.set_series_opts(label_opts=opts.LabelOpts(position="right"))
.set_global_opts(title_opts=opts.TitleOpts(title="排行榜"))
)
return c
如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。获取方式,私信小编 “ 资料 ”,即可免费获取哦!
用Python来揭秘吃瓜群众是如何看待罗志祥事件的的更多相关文章
- 彻底放弃没落的MFC,对新人的忠告!--吃瓜群众围观撕逼
http://bbs.csdn.net/topics/391817496 完全没想到10多年后还有人纠结要不要学MFC,我花点时间给新人们一个总结. 第1种观点 学习完MFC,你会更理解编程的思想,再 ...
- 刚收到一个吃瓜群众看了肯定不信的offer!
我教过了很多学生了,有的毕业后跟我依然保持联系,有的不知所踪,有的越混越好,有的没有什么变化,这让我不断思考,到底拉开人与人之间差距的是什么呢?
- 《Machine Learning in Action》—— 白话贝叶斯,“恰瓜群众”应该恰好瓜还是恰坏瓜
<Machine Learning in Action>-- 白话贝叶斯,"恰瓜群众"应该恰好瓜还是恰坏瓜 概率论,可以说是在机器学习当中扮演了一个非常重要的角色了.T ...
- 吃瓜的正确姿势,Python绘制罗志祥词云图
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 这篇文章中向大家介绍了Python绘制词云的方法,不难看出绘制词云可以说是一 ...
- CDOJ1927 爱吃瓜的伊卡洛斯(2) 【并查集】启发式合并+set
伊卡洛斯很爱吃西瓜.一次,他来到一个西瓜摊旁,发现水果摊有N个西瓜,西瓜有红色.黄色.绿色.蓝色……等等数不清的颜色. 伊卡洛斯很想知道知道一些信息,便于老板交谈了起来. 当老板的话的第一个字符为”A ...
- Python数据分析揭秘知乎大V的小秘密
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 清风小筑 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...
- python 守护进程、同步锁、信号量、事件、进程通信Queue
一.守护进程 1.主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes ...
- Selenium2+python自动化12-操作元素(键盘和鼠标事件)
前言 在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素 ...
- python theading线程开发与加锁、信号量、事件等详解
线程有2种调用方式,如下: 直接调用 import threading import time def sayhi(num): #定义每个线程要运行的函数 print("running on ...
随机推荐
- codeforces 466c(暴力枚举)
题目链接 思路如下 *题意: 给定一个序列,问有多少种方案可以将此序列分割成3个序列元素和完全相同的子序列.(子序列不能为空).即问有多少个点对(i,j)满足a[1]+-+a[i-1]=a[i]+a[ ...
- 深入解读ES6系列(三)
ES6字符串 哈喽小伙伴们,爱说'废'话的Z又回来了,欢迎来到Super IT曾的博客时间,上一节说了函数,解构赋值和数组的五大将,这一节我们继续我们知识的海洋,一起奋斗不秃头!不足的欢迎提问留言. ...
- 关于C#三层架构增删改查中的“添加”问题
关于“添加”功能的实现比较简单: 先来一个简单的界面: 然后是代码: ··采用的是三层架构的思想写的·· 在DAO中的方法为: (使用了动软自动生成代码) 希望对您有所帮助!
- FastJson反序列化和构造函数之间的一点小秘密
各位看官大家下午好,FastJson想必大家都很熟悉了,很常见的Json序列化工具.今天在下要和大家分享一波FastJson反序列化和构造函数之间的一点小秘密. 下面先进入大家都深恶痛绝的做题环节.哈 ...
- mysql正则匹配中文时存在的问题
可以看到,目前正则匹配字母没问题,c出现1次,2次,3次匹配的结果都是正常的 接下来我们看看匹配中文的效果 可以看到,当匹配连续出现歪时,结果就开始不正常了 然后我去看了下mysql的中文文档中关于正 ...
- Mac通过homebrew 安装mysql
来源:http://timtang.me/blog/2011/12/07/mac-homebrew-mysql/ 使用MBP有一年了,开始想在工作中使用mac由于各种不习惯最终失败,导致自己使用了一年 ...
- 超详细Go语言源码目录说明
开源项目「go home」聚焦Go语言技术栈与面试题,以协助Gopher登上更大的舞台,欢迎go home~ 导读 学习Go语言源码的第一步就是了解先了解它的目录结构,你对它的源码目录了解多少呢?今天 ...
- IDEA永久激活码获取
废话少说,直接上地址:http://idea.medeming.com/jet/ *小编还是建议,有家底的程序猿还是直接买正版的号,非正版的很多不便的地方~
- 11-Json提取器使用
1.使用json提取关键信息 有时候接口返回数据为json数据或者直接为一个列表,可使用这个更简单快捷 json数据: 这样的,数据有在result里面以列表形式存在,也有在列表外的,可在json提取 ...
- qt creator源码全方面分析(4-0)
Qt系统 Qt Creator源码是在Qt对象和框架基础下写的,因此,阅读Qt Creator源码,你首先对Qt得有一定的了解. Qt Core Qt Core特征: The Meta-Object ...