会唱歌的程序员为何如此受欢迎?

 作者 朱小五

爱奇艺的独家综艺《乐队的夏天》总决赛终于落下了帷幕,虽然决赛过程有些“曲折”,但是我最喜欢的刺猬乐队,仍然凭借自己的硬实力,最终排在第二名!

值得一提的是,这只乐队的吉他手兼主唱也是一位程序员。

刺猬乐队其实成立10多年了,很有实力。

但是在老牌乐队云集的这次比赛中,第一次31进16时仅仅排在第12名,那么他又是如何逆风翻盘的?

让我来复盘一下。

获取数据

获取爱奇艺视频《乐队的夏天》各期节目的下面的评论。

F12,Network查看异步请求XHR,找到评论接口。

不要以为这里结束了,我们来看一下Request URL

https://sns-comment.iqiyi.com/v3/comment/get_comments.action?
content_id=2537368600&types=time&last_id=213811925021
&business_type=17&agent_type=119&agent_version=9.9.0&authcookie=

经过测试,大部分参数都是不变的,只有“content_id”和“last_id”,content_id对于每一期节目是固定的,我们可以自己手动获分析获得。那么last_id是怎么来的?

给大家放一下连续几页的 last_id 看一下吧。

213811925021

213372828221

212600215021

211973666621

它们之间并没有什么累加的规律。

放弃的同学可以直接翻到上一张图,标黄的部分“213811925021”,正是我们看到的第一个 last_id 参数。

也就是说每个json里的最后一个 CommentId ,作为下一个url的 last_id 使用。

那么我们需要注意的就是在解析json的过程中需要返回最后一个 CommentId 。

def get_comments(url):
    data = []
    doc = get_json(url)
    jobs=doc['data']['comments']
    for job in jobs:
        dic = {}
        global CommentId
        CommentId=jsonpath.jsonpath(job,'$..id')[0] #id
        dic['id'] = CommentId
        dic['content']=jsonpath.jsonpath(job,'$..content')[0] #评论
        add_Time=jsonpath.jsonpath(job,'$..addTime')[0]  #时间
        dic['addTime'] = stampToTime(add_Time)  #转化时间格式
        dic['uid']=jsonpath.jsonpath(job['userInfo'],'$..uid')[0] #用户id
        dic['uname']=jsonpath.jsonpath(job['userInfo'],'$..uname')[0] #用户名称
        dic['gender']=jsonpath.jsonpath(job['userInfo'],'$..gender')[0] #性别
        data.append(dic)
    return data,CommentId #获得每个json里的最后一个CommentId 

剩下的循环爬取就好。汇总后就获得了2.6万条评论数据。

数据分析

一个乐队名称在每期评论中的提及次数,可以侧面反映这只乐队在这期节目后受到观众喜欢的程度。

#乐队在评论中的提及数
a = {'痛仰':'痛仰', '新裤子':'裤子','猴子军团':'猴子军团','鹿先森':'鹿先森','旺福':'旺福','九连真人':'九连','盘尼西林':'盘尼西林|青霉素',
    '反光镜':'反光镜','click15':'click15|#15','海龟先生':'海龟先生','皇后皮箱':'皇后皮箱','面孔':'面孔','和平和浪':'和平和浪','MR.MISS':'MR.MISS|MISS',
    'VOGUE5':'VOGUE5|VOGUE','薄荷绿':'薄荷绿','熊猫眼':'熊猫眼','果味VC':'果味VC','BONGBONG':'BONGBONG','醒山':'醒山','刺猬':'刺猬','旅行团':'旅行团',
    '麋鹿王国':'麋鹿王国','宇宙人':'宇宙人','黑撒':'黑撒','南无':'南无','斯斯与帆':'斯斯与帆','葡萄不愤怒':'葡萄不愤怒','茶凉粉':'茶凉粉',
    '青年小伙子':'青年小伙子','Mr.WooHoo':'Mr.WooHoo|WooHoo',}
for key, value in a.items():
    data1[key] = data1['content'].str.contains(value)
staff_count = pd.Series({key: data1.loc[data1[key], 'content'].count() for key in a.keys()}).sort_values()
print(staff_count)

以第一期为例,结果如下。

每期节目的乐队排名都依次降序盘点汇总一下。

结果还蛮惊讶的。

除去第二期他们没有参加,也就是说从第三期开始,刺猬乐队便开始展现实力,几乎每一期都能让观众如此喜欢。

数据可视化

筛选出评论中提到刺猬乐队的评论数据。

data_ciwei= data[data['content'].str.contains('刺猬')]

爬取得到的数据字段其实没几个。

简单看一下喜欢他们的观众的性别分布。

from pyecharts import Pie
# 生成饼图

gender_data = data_ciwei.groupby(['gender'])
gender_cw = gender_data['gender'].agg(['count'])
gender_cw.reset_index(inplace=True)

attr = ['女', '男', '无']
v1 = gender_cw['count']
pie = Pie("评论提及刺猬乐队的用户性别分布", title_pos='center', title_top=0)
pie.add("", attr, v1, radius=[40, 70], label_text_color=None, is_label_show=True, legend_orient="vertical", legend_pos="left", legend_top="%10")
pie

使用pyecharts作图。

至于评论的长度之类的就不做分析了。

最后看一下词云,不用jieba分词试试。

from pyecharts import WordCloud
# 生成词云

bj_tag = []
for st in data_ciwei.dropna(subset=['content'])['content']:
    bj_tag.extend(st.split(' '))

name, value = WordCloud.cast(Counter(bj_tag))
wordcloud = WordCloud(width=1000, height=500)
wordcloud.add("", name, value, word_size_range=[18, 250])
wordcloud

还是使用pyecharts作图。

可以看出观众对于刺猬乐队的要么是直接夸,要么是和其他强队做对比,总体都是希望它能越来越好。

刺猬总是强调摇滚乐是属于年轻人的,35岁之后可能就不那么摇滚了。

不过35岁之后,他们又将去向哪里呢?

也许等到中年的子健,面对着年轻的乐手们会说:

我不是针对谁,我是说在坐的各位,都没我代码写的好!

文章转载自公众号  凹凸玩数据 

Image placeholder
mengdream
未设置
  42人点赞

没有讨论,发表一下自己的看法吧

推荐文章
最受欢迎的编程语言排行:Python与Java谁更受欢迎?

Python在全球开发人员中的受欢迎程度急剧上升,专注于研究开发人员的SlashData最近公布了实际使用该语言的开发人员数量。根据SlashData的数据,目前世界上有820万使用Python编写代

字节跳动(今日头条),为何战斗力如此凶猛?

有没有研究过今日头条?还有没有上升空间?早些时候,「今日头条」还是这间公司最重要的产品,自从「抖音」日活跃用户量(DAU)接近「今日头条」后,这间公司对外的名称由今日头条 改为 字节跳动。字节跳动是母

施密特:谷歌的五大原则

大数据文摘出品作者:施密特在2013年的《致股东的公开信》中,谷歌创始人拉里·佩奇表示:“随着时间的推移,很多公司都习惯重复自己一贯的做法,只做出很少的渐进式的改变。假以时日,这样的渐进主义会导致落伍

这波技术社区的程序员,技术视野有点堪忧!

前一段时间写了一篇文章《凌晨1点突发致命生产事故,人工多线程来破局!》,只是一篇生产事故的记实文章,没想到在圈内流传甚广,其中有程序员对其中的细节有点疑惑,刚好国庆可以和大家再进一步探讨一下。现在技术

代码传奇 | 身价10亿的程序员 雷军当年也为他打工——WPS之父 求伯君

他的前半生,值得我们每一个人深思。在普通人眼里,他寂寂无名,只有年岁稍长的文化人,才听说过他传奇般的存在。在IT人眼里,他是块活化石,中国第一的大旗除了他,没人敢抗!他是求伯君,从一个浙江穷山村走出来

看,那个35岁的程序员好像一条”狗“…

35岁并不是所有的程序员都成了架构师也不是所有的程序员都荣升技术总监更不是所有的程序员都转成了项目经理大部分35岁的程序员依旧是一线码农…..有的是真心喜欢,而更多的却是无奈。无论何种原因,35岁的程

电击、警棍、爆头,被骗去柬埔寨的程序员有多惨?

本文转自 |互联网翻车指南作者:徐车长 编辑:田鸭前几天,我失联了两年的好哥们,从迪拜回来了。他飞机一落地,我就收到了他的微信:「老子终于回来了」。我这个哥们的职业是程序员,业务技术很好,两年前一个美

Github标星十万+!愤怒的程序员发起996.ICU,小本本投诉过度加班公司

大数据文摘出品作者:蒋宝尚哪里有压迫,哪里就有反抗。作为程序员的你,这几天一定被名为996.ICU的github项目刷屏。3月27日,有开发者在GitHub上建了一个名为996.ICU的repo,该r

408路公交上的程序员

作者| 刘念来源|公众号“谷雨实验室” 未经许可,不得转载。这些程序员在创业公司工作多年,曾一同怀抱着拿着期权实现财务自由的梦想。最终却不得不一次次坐上通往劳动仲裁院的公交车。在一家创业公司工作6年后

93.7% 的程序员!竟然都不知道 Redis 为什么默认16个数据库?

▍导读在实际项目中Redis常被应用于做缓存,分布式锁、消息队列等。但是在搭建配置好Redis服务器后很多朋友应该会发现和有这样的疑问,为什么Redis默认建立了16个数据库,如下图所示。椐调查发现:

5位女性程序员的自白:计算机不撒谎;女程序员的代码一样也很棒

谁说这个领域就是男性的天下偏见本身就是一种带标签的想法她们的世界里只信奉“computer never lies”她们认为代码漂亮比发型漂亮更重要她们到底是谁?谷悦是喜欢简单、纯粹工作的气质女神,八年

是什么让侨鑫集团如此青睐SimpliVity超融合系统?

超融合基础设施架构(HCI)概念的出现只有短短几年,这种以业务为中心的新架构将计算、存储、网络等资源“融为一体”,拥有高性能、高可靠、弹性扩展和低成本等优势,同时又大大简化了管理复杂度,因此一经推出就

可视化编程是否真的没有未来?程序员:它有“七宗罪”

今天想聊聊可视化编程(visual-programming)的未来发展,喂喂,咱们这儿还没开始,各位大佬先别急着走啊您……确实,可视化这个概念跟任何技术并称,都是技术前沿、下一个风口、万亿市场的代名词

程序员必备工具箱

作为一名初级开发人员,我们经常会遇到许多不同的技术,对我们来说都是新鲜和陌生的,伴随着总有人说这将是下一个热点,我们必须学习。类似的话我已经听了好多年了,并且已经找到了一些模式,可以适当的抽象出你的工

编程书说的 “Go 程序员应该让聚合类型的零值也具有意义” 是在讲什么

在《Go语言编程》这本书和很多其他Go编程教程中很多都提到过“Go程序员应该让一些聚合类型的零值也具有意义”的概念,我们这篇文章主要说一下有意义的零值这个话题。 在Go中声明变量时如果初始化表达式被省

Java 程序员眼中的 Linux_1.0.Linux 介绍

Linux介绍 Linux这个名字 Linux的Wiki介绍:http://zh.wikipedia.org/zh/Linux Linux也称:GNU/Linux,而其中GNU的全称又是:Gnu’sN

[Java 程序员眼中的 Linux] Linux 下常用压缩文件的解压、压缩

Linux下常用压缩文件的解压、压缩 常用压缩包解压命令整理 Linux后缀为.tar.gz格式的文件-解压 命令:tarzxvfXXXXXX.tar.gz Linux后缀为.bz2格式的文件-解压

程序员常用的十款开发工具推荐

工欲善其事必先利其器。对于程序员来讲,好用的开发工具可以大大提高开发效率。本文将向大家推荐程序员常用的十款开发工具,希望能帮助大家更加优雅地写出代码。这些工具分别是Arthas、ChaosBlade、

IT程序员工资一般多少钱?薪资水平如何?

  IT程序员工资普通几钱?薪资程度如何?程序员工资依据技术程度和地域差别薪资程度有很大的差距,北上广一线城市程序员工资大都在1万元左右,随着项目经历积聚薪资也呈现上升趋向。   IT程序员工资待遇引

程序员常用的15 种开发者工具推荐

  程序员常用的15种开发者工具引荐:Java线上诊断工具Arthas、IDE插件CloudToolkit、混沌实验注入工具ChaosBlade、Java代码规约扫描插件、应用实时监控工具ARMS、静

程序员有话说:开发人员提升自己的四种方式

开发人员之间所谓的不同“级别”的界线是模糊 的。如果你问高级开发人员、开发经理或技术总监:“初学者、初级、中级和高级之间的区别是什么?”那么很有可能他们会给你截然不同的意见。由于存在各种各样的意见,因

程序员:我终于知道post和get的区别

IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。此话一出,不知激起了多少(码

@程序员,请万分珍重你的第一份工作

01、我的故事昨天我在群里发起了一个议题:读者朋友们,大家伙觉得第一份工作重要吗?回答不要太统一,重要个屁——不可能的。老读者都知道一些我的经历了。高考失利,因为太文弱干不了搬砖的活,就上了大专,大三

GitLab,是谁给了你歧视中国程序员的勇气?

GitLab安全漏洞不断,收集用户行为数据,今天又找到新的作死方法了。由谷歌投资的全球第二大开源代码托管平台GitLab在其官网上发布了一项声明,称他们决定为有权访问客户数据的团队成员启用“工作家庭国

在中国,程序员是青春饭吗?

很遗憾,就我在中国和美国的工作经历和观察来看,程序员无论在哪里都是“青春饭”(注意引号,友军先别开枪!)。但是,在你站在“40岁50岁时候的自己”这个角度来思考问题,从而害怕程序员是青春饭,自己被年轻