《三十而已》剧照    来源:互联网

继《隐秘的角落》后,又一部“爆款剧”——《三十而已》获得了口碑收视双丰收,王漫妮、顾佳、钟晓芹三个女主角的故事线频频登上微博热搜。该剧于2020年7月17日在东方卫视首播,并在腾讯视频同步播出。为了了解吃瓜群众们对这部剧的看法,我爬了爬腾讯视频关于这部剧的评论,并做了简单文本可视化分析。

一、数据获取

1.分析评论页面

腾讯视频评论要点击查看更多评论才能加载更多数据,很明显是一个动态网页,评论内容使用了Ajax动态加载技术。因此,我们需要找到真实URL,然后再请求数据。

找到真实URL其实不难,按照以下步骤即可找到。当然,你也可以使用抓包工具fiddler,同样可以轻松找到。

2.寻找参数规律

我们多刷新几次,找几个真实的URL看看这些参数有什么变化。下图是我刷新了3次得到的真实的URL:

第1次刷新:
https://video.coral.qq.com/varticle/5572751505/comment/v2?callback=_varticle5572751505commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6689895369036463828&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1595994099261第2次刷新:
https://video.coral.qq.com/varticle/5572751505/comment/v2?callback=_varticle5572751505commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6689950633282796870&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1595994099262第3次刷新:
https://video.coral.qq.com/varticle/5572751505/comment/v2?callback=_varticle5572751505commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6690046095919619518&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1595994099263

很显然,只有cursor=?和_=?有变化,_=?为公差为1的等差数列,而cursor=?貌似没有什么规律。根据以往经验,这类参数有可能藏在上一个真实URL中。我们尝试将第1个URL在浏览器中打开,然后搜索第2个真实URL的中的cursor值。

还真有!一般情况下,我们还要多试几次,对我们的猜想进行验证。既然规律已经找到,接下来就很简单了。限于篇幅,以下给出部分代码:

def main():#初始页面的_=?page=1595991084333#初始待刷新页面的cursor=?lastId="0"for i in range(1,1000):time.sleep(1)html = get_content(page,lastId)#获取评论数据commentlist=get_comment(html)print("------第"+str(i)+"轮页面评论------")k = 0for j in range(1,len(commentlist)):comment = commentlist[j]k += 1print('第%s条评论:%s'%(k,comment))#获取下一轮刷新页IDlastId=get_lastId(html)page += 1if __name__ == '__main__':main()

二、数据处理

1.导入相关包

#基础数据分析库
import numpy as np
import pandas as pd
#分词库
import jieba
import re
#绘图库
import matplotlib.pyplot as plt
from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.globals import ThemeType
import stylecloud
from IPython.display import Image

2.导入评论数据

df = pd.read_csv('/Users/我是J哥/Documents/技术公号/公号项目/2.spider/腾讯/comment.csv',names=['评论内容'])
df.sample(5)

3.数据类型转换

df.info()
df['评论内容'] = df['评论内容'].astype('str')

4.删除重复评论

df = df.drop_duplicates()

5.增加评论类型

cut = lambda x : '短评' if len(x) <= 20 else ('中评' if len(x) <=50 else '长评')
df['评论类型'] = df['评论内容'].map(cut)

6.提取演员关键词

result = []
for i in df['评论内容']:result.append(re.split('[::,,.。!!~·`\;;……、]',i))def actor_comment(df,result):actors = pd.DataFrame(np.zeros(6 * len(df)).reshape(len(df),6),columns = ['王漫妮','顾佳','钟晓芹','江疏影','童瑶','毛晓彤'])for i in range(len(result)):words = result[i]for word in words:if '王漫妮' in word or '王曼妮' in word:actors.iloc[i]['王漫妮'] = 1 if '顾佳' in word:actors.iloc[i]['顾佳'] = 1if '钟晓芹' in word:actors.iloc[i]['钟晓芹'] = 1 if '江疏影' in word:actors.iloc[i]['江疏影'] = 1 if '童瑶' in word or '童谣' in word:actors.iloc[i]['童瑶'] = 1if '毛晓彤' in word:actors.iloc[i]['毛晓彤'] = 1 final_result = pd.concat([df,actors],axis = 1)return final_result
df1 = actor_comment(df,result)
df1.head(10)

三、数据可视化

1.整体评论情况

# 绘制词云图
text1 = get_cut_words(content_series=df1['评论内容'])
stylecloud.gen_stylecloud(text=' '.join(text1), max_words=1000,collocations=False,font_path='演示悠然小楷.ttf',icon_name='fas fa-heart',size=653,palette='matplotlib.Inferno_9',output_name='./评论.png')
Image(filename='./评论.png')

通过对一万多条热评内容绘制词云图,我们很容易看出大家对《三十而已》的喜欢,以及对主要角色和演员的关注。家庭与工作如何兼得?婚姻与爱情如何共处?这些问题都被广大观众所热议。

2.评论类型分布

df2 = df1.groupby('评论类型')['评论内容'].count()
df2 = df2.sort_values(ascending=False)
regions = df2.index.to_list()
values = df2.to_list()
c = (Pie(init_opts=opts.InitOpts(theme=ThemeType.CHALK)).add("", zip(regions,values),radius=["40%", "70%"]).set_global_opts(title_opts=opts.TitleOpts(title="评论类型占比",subtitle="数据来源:腾讯视频",pos_top="2%",pos_left = 'center')).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}%",font_size=18)))
c.render_notebook()

从评论类型来看,以短评居多,占比72.52%。另外,有4.15%的评论者给出了50字以上的评论,表达出自己对《三十而已》的独到见解。

3.演员角色提及

df3 = df1.iloc[:,2:].sum().reset_index().sort_values(0,ascending = True)
df3.columns = ['角色','次数']
df3['占比'] = df3['次数'] / df3['次数'].sum()c = (Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK)).add_xaxis(df3['角色'].to_list()).add_yaxis("",df3['次数'].to_list()).reversal_axis() #X轴与y轴调换顺序.set_global_opts(title_opts=opts.TitleOpts(title="主演及其饰演的角色被提及次数",subtitle="数据来源:腾讯视频",pos_top="2%",pos_left = 'center'),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=16)), #更改横坐标字体大小yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=16)), #更改纵坐标字体大小).set_series_opts(label_opts=opts.LabelOpts(font_size=16,position='right')))
c.render_notebook()

童瑶及其饰演的顾佳被评论者提及的次数最多,都超过500次。江疏影,人气也较高,获得了300多次的评论。王漫妮和钟晓芹提及次数相对少一些,随着剧情的推进应该会有所提升。

4.对王漫妮的评论

王漫妮是众人眼中的标准都市女性,大家普遍认为她长得好看努力上进,甚至有人觉得她是完美的存在。身为柜姐的她对顾客进行极致化服务,却遭到现实的嘲讽。感情上,想要好好过日子的她却遇到不该遇到的男人

5.对顾佳的评论

顾佳作为一名全职太太,在观众看来是个优秀的居家女人。双商在线能力强,将自己的孩子和丈夫的公司都打理得井井有条。与此同时,幸福的生活出现了入侵者,顾佳没有被现实打倒,勇敢应战。另外,顾佳因为长得像章子怡,也被众多观众所提及。

6.对钟晓芹的评论

### 5.对钟晓芹的评论

钟晓芹被认为是标准化的大多数,嫁给事业单位铁饭碗的男人,安心做一个平凡妻子,过一个普通生活。却因写作爱好偶然卖出高价版权,家庭情况变得复杂,钟晓芹面临艰难抉择。

声明

1.本数据分析只做学习研究之用途,评论数据范围为第一集,提供的结论仅供参考;

2.作者与腾讯视频无任何瓜葛,只是他家评论数据比较全面,大家也可以去豆瓣看看;

3.作者对影视行业了解甚微,相关描述可能存在不尽完善之处,请勿对号入座。

●Python实现常用的假设检验 !

●12000+字超详细 SQL 语法速成!

后台回复“入群”即可加入小z干货交流群

不错????

Python爬取10529条《三十而已》热评,看看大家都说了些啥相关推荐

  1. python网易云听歌时长_用Python爬取10w条网易云音乐热评并进行分析的方法总结

    有个段子讲"十年文案老司机,不如网易评论区,网易文豪遍地走,评论全部单身狗",网易云音乐的评论区也一直都是各类文案大神的聚集地. 那么我们普通用户到底如何成为网易云音乐评论里的热评 ...

  2. 使用urllib 爬取万条伤感网易云热评

    使用urllib 爬取万条伤感网易云热评 import urllib.request import re import ssl import json #抓取一页 def 网易云热评(url):#创建 ...

  3. Python爬取10529条《三十而已》热评,看看大家都说了些啥!

    继<隐秘的角落>后,又一部"爆款剧"--<三十而已>获得了口碑收视双丰收,王漫妮.顾佳.钟晓芹三个女主角的故事线频频登上微博热搜.<三十而已>于 ...

  4. python怎么爬取知乎回答并制作词云_使用python爬取流浪地球影评并制作词云,看看别人都说了些说什么...

    流浪地球影评爬取 大过年的,蹭个热度,看完电影后爬一下影评并作出词云. 本次影评取自豆瓣: https://movie.douban.com/subject/26266893/ 抓包 首先是拿到访问的 ...

  5. Python 爬取 201865 条《隐秘的角落》弹幕,发现看剧不如爬山?

    作者 | 朱小五 责编 | 屠敏 封图 | CSDN 付费下载自东方 IC 最近又火了一部国产剧:<隐秘的角落>. 如果你没看过,那可能会对朋友圈里大家说的"一起去爬山" ...

  6. Python 爬取 201865 条《隐秘的角落》弹幕数据,发现看剧不如爬山?

    Python 爬取 201865 条<隐秘的角落>弹幕数据,发现看剧不如爬山? 本文不涉及剧透!请放心食用 最近又火了一步国产剧:<隐秘的角落> 如果你没看过,那可能会对朋友圈 ...

  7. 用 Python 爬取 4332 条数据,揭秘甜咸肉粽的江湖!

    作者 | 朱小五 责编 | 屠敏 来源 | 凹凸数据 端午节快要到了,甜咸粽子之争也快要拉开帷幕. 本文准备用Python爬取淘宝上的粽子数据并进行分析,看看有什么发现. 注:本文仅用于学习交流,禁止 ...

  8. Python爬取44130条用户观影数据,分析挖掘用户与电影之间的隐藏信息!

    1.前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取 Python免费学习 ...

  9. Python爬取上万条大众点评数据,解读一线快餐品牌背后的秘密

    中国的快餐市场竞争一直都很激烈,关于各种品牌江湖上也流传着各种神奇的故事,那么你知道 一线城市最多的快餐品牌是哪家? 沙县小吃真的是中国餐饮巨头吗? 每一家肯德基边上都有一家麦当劳是不是真的? 星巴克 ...

最新文章

  1. IREP_SOA Integration程序注释语法Annotations(概念)
  2. HDU - 1223 DP 分类
  3. Java IO流(概述)
  4. python---基础知识回顾(十)进程和线程(协程gevent:线程在I/O请求上的优化)...
  5. HDOJ--1863--畅通工程
  6. Jdk1.8日期格式转换小笔记
  7. arm的bin二进制代码分析
  8. Acme CAD ConverterDWG文件查看器 2021
  9. MacBook远程控制工具VNC Viewer_亲测使用
  10. JAVA中后缀sl文件_Windows 中的常见文件扩展名
  11. NLP自然语言处理 之 jieba中文处理
  12. 小米手机miui截图后游戏重启的问题
  13. C/C++ __builtin 超实用位运算函数总结
  14. 虹软人证核验增值版-node.js调用C++SDK
  15. 【计算机系统结构】Micro-operation微操作
  16. NPDP产品经理证书(2019年04月),NPDP是IBM和华为的IPD的祖师爷。IPD学不到,NPDP还是可以学到的。...
  17. C语言程序设计(数据结构)——计算一元二次方程
  18. python评价指标_详解分类评价指标和回归评价指标以及Python代码实现
  19. 【转】基于OAI-PMH的元数据搜索引擎的设计与实现
  20. 内网渗透之隐藏通信隧道

热门文章

  1. 一行行的代码解密马尔可夫链
  2. windows+python+opencv截取视频片段
  3. LG P5238 整数校验器
  4. Python:variable in function(argument、function) name should be lowercase 处理方式
  5. zookeeper疑难杂症
  6. Qt入门(一)——自己动动手写一个简易的用户化界面(Qt命令行模式)
  7. html5九宫格布局,CSS实现自适应九宫格布局(完整方法大全)
  8. 十四、 ThinkPHP6_聚合.原生.子查询
  9. 微信商城商家该如何运营
  10. 母婴购物微信商城的设计与实现