前言
最近用 python 爬虫抓取了知乎用户个人资料(公开信息),去重之后有300+万条记录,为了得到这些数据,还不小心跑崩了一台服务器…… 当然主要是配置太低。
手头有了数据也不能闲着,于是就有了这篇分析报告,这篇报告做了一些浅显的数据分析,主要目的是练练手,大家看个热闹,高手勿笑。
爬虫源码放在了 github 上,windcode/zhihu-crawler-people,各位大佬别忘了点个 star~
数据量:3,289,329 人。
数据采集工具:分布式 python 爬虫
分析工具:ElasticSearch + Kibana
分析角度包括:地理位置、男女比例、各类排名、所在高校、活跃程度等。
注意:
- 以下所有分析结果都基于我抓取到的这300万用户的个人信息,非权威分析,仅供参考。
- 数据抓取时间为2017年7月份,用户数据会随着时间推移而变化,所以该报告具有一定时效性。
- 知乎的用户个人资料很大程度上是不完整的,因为用户有权只填写部分信息,所以后面分析的时候会筛掉对应指标为空的用户。
下面让我们看看知乎用户分布中有哪些有趣的现象(下面的图点击可以放大) ↓
知乎的男女比例?
首先来看看知乎用户的男女比例,以当前样本数据统计的结果接近 1:1,其中男生略多一些。(其实还有很大一部分性别不明的用户,被我略掉了 ╮(╯▽╰)╭)
蓝色为男生,红色为女生。具体数据为:
男生:1,202,234 人,占 51.55%。
女生:1,129,874 人,占 48.45%。
知乎用户都是哪里人?
再来看看全国(全球?)都有哪些地方的人在玩知乎:
由上图可以看到,知乎用户中一线城市用户占较大的比重,北上广深皆在词云的中心位置(文字越大,比重越大)。我们再来看看具体的排名(前十名):
知乎用户居住地前十名依次是:北京、上海、杭州、成都、南京、武汉、广州、深圳、西安、重庆。
你可能发现了Y坐标里每座城市的用户数并不多,这是因为有大概260万的知乎没有填写“居住地”这一栏~ 以下分析也有可能出现用户没有填写某一栏信息的情况,我会把这些用户忽略掉,以保证展示图表的准确性。
知乎的职业分布?
以下显示知乎主流职业,同样根据知乎用户个人信息里填写的职业为准:
由上图可以看到,知乎用户中学生用户占据多数,其它的比如产品经理、程序员、运营、HR数量也不少。我们看一下具体的排名(前十名):
由上图可以看到,知乎用户中“学生”的比重独占鳌头,我们把“学生”去掉,来看看 正经些的知乎职业排名:
去除学生后,知乎主流职业比重从大到小依次是(前十名):产品经理、自由职业、程序员、工程师、设计师、腾讯、教师、人力资源(HR)、运营、律师。可以看到,除了一些互联网公司的常见职位外,教师和律师用户在知乎中也占据不小的比重。
下面我们结合 性别 和 居住地 来分析一下知乎的主流职业。
知乎主流职业的性别分布:
上面这张饼图的内圈表示各主流职业在前十名中所占的比重,外圈表示该职业从业者中的男女比例,蓝色为男性,红色为女性。我们再用一张直方图来表示:
同样蓝色代表男性,红色代表女性,从左到右的职业在知乎中的数量依次下降。可以看到,知乎大部分主流职业中主要为男性占主导。前 10 名的主流职业中有 8 个职业的男性从业者比女性多,其中以 程序员 的男女比例差距最为悬殊(-_-|||),以 设计师 男女比例差距最小,看来设计师从业人员男女比例较为均衡。其它的,比如产品经理、自由职业者、律师中,均为男性从业者多于女性。而前 10 名剩下的 2 个职业——教师、人力资源(HR)——女性从业者要多于男性,其中以 人力资源(HR) 男女比例差距最为悬殊,教师的男女比例虽不那么夸张,但女性也远远多于男性(也许是因为男性教师不怎么上知乎?)。
看完了知乎各职业的性别分布,我们再用一张热力图来观察知乎主流职业(前五名)在各个地区的分布情况,颜色越深,代表该职业在该地区的人数越多:
这里我为了展示方便,去掉了产品经理,你只需要知道产品经理在各地人数都是最多的…… 不明白知乎上怎么这么多产品经理,可能是为了方便宣传他们的产品?
从上图可以看出,知乎各主流职业大部分集中在北京和上海两地,更准确地说,大部分都集中在北京,但是人力资源(HR)是个例外,他们更多集中在上海。我们再来看看其他职业,程序员分布最多的城市依次是:北京、上海、广州、杭州、厦门。北京占得比重最大,简直绿的发黑,看来北京是程序员的天堂?其中深圳没有上榜,让我很奇怪。设计师分布最多的城市依次是:北京、上海、杭州、深圳、武汉。设计师的地区分布比较平均,各个城市都有一定数量。
知乎的高校用户
知乎中学生用户占很大的比重,我们来看看他们都来自哪些学校!词云中字体越大,表示所占比重越大。
我们再列出详细的比重排名:
以上展示的结果不一定准确,可能有很大一部分学生用户没有填写自己的学校。仅从上图可以看出,知乎活跃高校用户从大到小依次是:浙江大学、武汉大学、华中科技大学、中山大学、北京大学、上海交通大学、复旦大学、南京大学、四川大学、清华大学。
既然分析到学校了,我们顺便看看各高校的男女比例,嘿嘿。
发现一个有意思的现象,各高校大部分都是男生在玩知乎……
再看一下哪些高校在知乎获得的赞数最多:
第一是同济大学,土木工程,恩,这是哪位大佬撑起来的;第二是华南理工大学,软件工程,这个我知道,轮子哥是皇家理工的嘛;第三,重庆第一工程尸培训基地,恩???这是什么鬼(黑人问号);继续往后看,恩……??家里蹲大学??!!还有一个兰州大学,牛肉面工艺专业???WHAT??!!
∑(っ°Д°;)っ
知乎大佬都这么调皮吗……
这个图似乎不太准,大家忽略就好……
我们再来看看各地区有哪些高校是知乎重度用户,颜色越深代表该学校的知乎用户越多:
北京玩知乎最多的高校依次是:北京大学、北京邮电大学、中国传媒大学、中国人民大学、清华大学。
上海玩知乎最多的高校依次是:上海交通大学、复旦大学、同济大学、上海大学、上海财经大学。
杭州玩知乎最多的高校依次是:浙江大学、浙江工业大学、杭州电子科技大学、浙江大学,计算机科学、浙江大学,软件工程。浙江大学是重度用户啊……
成都玩知乎最多的高校依次是:电子科技大学、四川大学、西南交通大学、电子科技大学,软件工程、四川师范大学。
广州玩知乎最多的高校依次是:中山大学(SYSU)、华南理工大学(SCUT)、华南农业大学(SCAU)、广东外语外贸大学、广东工业大学。
我们再来看一下知乎各高校用户的活跃程度,按每个学校用户回答问题的总数排名:
排名依次是:武汉大学、浙江大学、中山大学、华南理工大学、北京大学、华中科技大学、复旦大学、上海交通大学、西北农林科技大学。
好了,高校分析告一段落,我们再来看看知乎用户的各类排名。
知乎赞数最多的100位大V
下图中词云的字越大,表示收到的赞数越多:
我们再来一张直方图,配合着看:
张佳玮大大无可争议的获得第一名,360+万赞,恐怖。其次是马前卒、唐缺、vczh、肥肥猫、朱炫、Seasee Youl、ze ran、鬼木知、豆子。知乎获赞总数前五名有两位都是作家(张佳玮和唐缺),看来作家在知乎回答问题获赞方面还是很吃香,果然表达能力是观点获得认可的一个重要支撑 。
知乎关注者最多的100位大V
下图词云的字越大,表示关注者越多,看看有没有你熟悉的大V 呢?:
同样我们配合着一张直方图来看:
知乎关注人数最多的前10位大V依次是:张佳玮、李开复、黄继新、周源、张亮、张小北、李淼、朱炫、葛巾、田吉顺。这些是知乎真正的大V,关注者数量极多。关注者最多的张佳玮有137万粉丝(抓取时),他的粉丝还在不断上涨,到现在已经有138万粉丝。关注者最少田吉顺也有57万粉丝,轮子哥(vczh)稍微少一些,排在第11位。
知乎回答问题最多的100位大V
这些大V在知乎很活跃…… 下图词云文字越大,表示回答问题数量越多。
具体的排名为:
知乎回答问题数最多的10位大V从大到小依次为:vczh、李东、赵钢、另一只袜子、四海之内、M3小蘑菇、kun yu、白猫转转风、yskin、肛里拉出个电锯。微软的工作貌似很闲,看轮子哥(vczh)整天刷知乎……
我们再来加上这几位用户在知乎的获得的赞数,看看“回答问题的数量”和“获得的赞数”之间有没有什么联系:
由上图我们可以粗略的得出结论,回答问题的数量和获得赞数的关系没有很大。上图中只有 kun yu 和 vczh 回答问题的数量和获赞数基本持平,榜单前十名的其它用户获得赞数虽然也不少,但和他们回答问题数量的排名比起来,还不在一个量级上。这从侧面也说明了一个问题,回答问题的质量更加重要,某些高质量的会更容易吸引用户点赞。
知乎参加live最多的100位大V
我们再来看一个有意思的统计,知乎参加 live 最多的100位用户,以及他们最多参加过多少场 live。(live 是知乎推出的一种类似于直播的问答形式,大V开一场 live,分享他所在领域的知识,用户买门票参与 live,是一种知识变现的方式)
再来看看他们最多参加过多少场 live:
最多的那个大V竟然参加过 1600+ 场 live,真的很有精力和金钱,哈哈。
尾声
以上,便是以知乎300万用户个人资料为样本,做出的简单数据分析。大家觉得还可以挖掘哪些有用的信息呢?
喜欢我的分析的小伙伴可以点一个赞,或者等我的下一篇文章。接下来会发一篇爬虫的源码剖析,有时间的话会继续抓取其它有用的数据,做成数据报告发上来。另外我会尝试下把这次抓到的数据做成功能集成到公众号中,如果你有什么好玩的点子也可以推荐给我。
分布式知乎爬虫思路分析:如何写一个简单的分布式知乎爬虫?
也欢迎大家去我的博客踩踩:http://yangyingming.com
撒由那拉~ 下次再见~
原创声明
作者:呓语
微信公众号:呓语的黑板报
转载请注明:呓语 » 如何写一个简单的分布式知乎爬虫?