温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python如何爬取知乎并做数据分析

发布时间:2021-10-26 09:13:44 来源:亿速云 阅读:305 作者:柒染 栏目:大数据

python如何爬取知乎并做数据分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

最近用 python 爬虫抓取了知乎用户个人资料(公开信息),去重之后有300+万条记录,为了得到这些数据,还不小心跑崩了一台服务器…… 当然主要是配置太低。

手头有了数据也不能闲着,于是就有了这篇分析报告,这篇报告做了一些浅显的数据分析,主要目的是练练手,大家看个热闹,高手勿笑。

数据量:3,289,329 人。

数据采集工具:分布式 python 爬虫

分析工具:ElasticSearch + Kibana

分析角度包括:地理位置、男女比例、各类排名、所在高校、活跃程度等。

注意:

以下所有分析结果都基于我抓取到的这300万用户的个人信息,非权威分析,仅供参考。

数据抓取时间为2017年7月份,用户数据会随着时间推移而变化,所以该报告具有一定时效性。

知乎的用户个人资料很大程度上是不完整的,因为用户有权只填写部分信息,所以后面分析的时候会筛掉对应指标为空的用户。

下面让我们看看知乎用户分布中有哪些有趣的现象。

知乎的男女比例?

首先来看看知乎用户的男女比例,以当前样本数据统计的结果接近 1:1,其中男生略多一些。(其实还有很大一部分性别不明的用户,被我略掉了 

python如何爬取知乎并做数据分析

蓝色为男生,红色为女生。具体数据为:

男生:1,202,234 人,占 51.55%。

女生:1,129,874 人,占 48.45%。

知乎用户都是哪里人?

再来看看全国(全球?)都有哪些地方的人在玩知乎:

python如何爬取知乎并做数据分析

由上图可以看到,知乎用户中一线城市用户占较大的比重,北上广深皆在词云的中心位置(文字越大,比重越大)。我们再来看看具体的排名(前十名):

python如何爬取知乎并做数据分析

知乎用户居住地前十名依次是:北京、上海、杭州、成都、南京、武汉、广州、深圳、西安、重庆。

你可能发现了Y坐标里每座城市的用户数并不多,这是因为有大概260万的知乎没有填写“居住地”这一栏~ 以下分析也有可能出现用户没有填写某一栏信息的情况,我会把这些用户忽略掉,以保证展示图表的准确性。

知乎的职业分布?

以下显示知乎主流职业,同样根据知乎用户个人信息里填写的职业为准:

python如何爬取知乎并做数据分析

由上图可以看到,知乎用户中学生用户占据多数,其它的比如产品经理、程序员、运营、HR数量也不少。我们看一下具体的排名(前十名):

python如何爬取知乎并做数据分析

由上图可以看到,知乎用户中“学生”的比重独占鳌头,我们把“学生”去掉,来看看正经些的知乎职业排名:

python如何爬取知乎并做数据分析

去除学生后,知乎主流职业比重从大到小依次是(前十名):产品经理、自由职业、程序员、工程师、设计师、腾讯、教师、人力资源(HR)、运营、律师。可以看到,除了一些互联网公司的常见职位外,教师和律师用户在知乎中也占据不小的比重。

下面我们结合 性别 和 居住地 来分析一下知乎的主流职业。

知乎主流职业的性别分布:

python如何爬取知乎并做数据分析

上面这张饼图的内圈表示各主流职业在前十名中所占的比重,外圈表示该职业从业者中的男女比例,蓝色为男性,红色为女性。我们再用一张直方图来表示:

python如何爬取知乎并做数据分析

同样蓝色代表男性,红色代表女性,从左到右的职业在知乎中的数量依次下降。可以看到,知乎大部分主流职业中主要为男性占主导。前 10 名的主流职业中有 8 个职业的男性从业者比女性多,其中以 程序员 的男女比例差距更为悬殊(-_-|||),以 设计师 男女比例差距最小,看来设计师从业人员男女比例较为均衡。其它的,比如产品经理、自由职业者、律师中,均为男性从业者多于女性。而前 10 名剩下的 2 个职业——教师、人力资源(HR)——女性从业者要多于男性,其中以 人力资源(HR) 男女比例差距更为悬殊,教师的男女比例虽不那么夸张,但女性也远远多于男性(也许是因为男性教师不怎么上知乎?)。

看完了知乎各职业的性别分布,我们再用一张热力图来观察知乎主流职业(前五名)在各个地区的分布情况,颜色越深,代表该职业在该地区的人数越多:

python如何爬取知乎并做数据分析

这里我为了展示方便,去掉了产品经理,你只需要知道产品经理在各地人数都是最多的…… 不明白知乎上怎么这么多产品经理,可能是为了方便宣传他们的产品?

从上图可以看出,知乎各主流职业大部分集中在北京和上海两地,更准确地说,大部分都集中在北京,但是人力资源(HR)是个例外,他们更多集中在上海。我们再来看看其他职业,程序员分布最多的城市依次是:北京、上海、广州、杭州、厦门。北京占得比重较大,简直绿的发黑,看来北京是程序员的天堂?其中深圳没有上榜,让我很奇怪。设计师分布最多的城市依次是:北京、上海、杭州、深圳、武汉。设计师的地区分布比较平均,各个城市都有一定数量。

知乎的高校用户

知乎中学生用户占很大的比重,我们来看看他们都来自哪些学校!词云中字体越大,表示所占比重越大。

python如何爬取知乎并做数据分析

我们再列出详细的比重排名:

python如何爬取知乎并做数据分析

以上展示的结果不一定准确,可能有很大一部分学生用户没有填写自己的学校。仅从上图可以看出,知乎活跃高校用户从大到小依次是:浙江大学、武汉大学、华中科技大学、中山大学、北京大学、上海交通大学、复旦大学、南京大学、四川大学、清华大学。

既然分析到学校了,我们顺便看看各高校的男女比例,嘿嘿。

python如何爬取知乎并做数据分析

发现一个有意思的现象,各高校大部分都是男生在玩知乎……

再看一下哪些高校在知乎获得的赞数最多:

python如何爬取知乎并做数据分析

第一是同济大学,土木工程,恩,这是哪位大佬撑起来的;第二是华南理工大学,软件工程,这个我知道,轮子哥是皇家理工的嘛;第三,重庆第一工程尸培训基地,恩???这是什么鬼(黑人问号);继续往后看,恩……??家里蹲大学??!!还有一个兰州大学,牛肉面工艺专业???WHAT??!!

知乎大佬都这么调皮吗……

这个图似乎不太准,大家忽略就好……

我们再来看看各地区有哪些高校是知乎重度用户,颜色越深代表该学校的知乎用户越多:

python如何爬取知乎并做数据分析

北京玩知乎最多的高校依次是:北京大学、北京邮电大学、中国传媒大学、中国人民大学、清华大学。

上海玩知乎最多的高校依次是:上海交通大学、复旦大学、同济大学、上海大学、上海财经大学。

杭州玩知乎最多的高校依次是:浙江大学、浙江工业大学、杭州电子科技大学、浙江大学,计算机科学、浙江大学,软件工程。浙江大学是重度用户啊……

成都玩知乎最多的高校依次是:电子科技大学、四川大学、西南交通大学、电子科技大学,软件工程、四川师范大学。

广州玩知乎最多的高校依次是:中山大学(SYSU)、华南理工大学(SCUT)、华南农业大学(SCAU)、广东外语外贸大学、广东工业大学。

我们再来看一下知乎各高校用户的活跃程度,按每个学校用户回答问题的总数排名:

python如何爬取知乎并做数据分析

排名依次是:武汉大学、浙江大学、中山大学、华南理工大学、北京大学、华中科技大学、复旦大学、上海交通大学、西北农林科技大学。

好了,高校分析告一段落,我们再来看看知乎用户的各类排名。

知乎赞数最多的100位大V

下图中词云的字越大,表示收到的赞数越多:

python如何爬取知乎并做数据分析

我们再来一张直方图,配合着看:

python如何爬取知乎并做数据分析

张佳玮大大无可争议的获得第一名,360+万赞,恐怖。其次是马前卒、唐缺、vczh、肥肥猫、朱炫、Seasee Youl、ze ran、鬼木知、豆子。知乎获赞总数前五名有两位都是作家(张佳玮和唐缺),看来作家在知乎回答问题获赞方面还是很吃香,果然表达能力是观点获得认可的一个重要支撑 。

知乎关注者最多的100位大V

下图词云的字越大,表示关注者越多,看看有没有你熟悉的大V 呢?:

python如何爬取知乎并做数据分析

同样我们配合着一张直方图来看:

python如何爬取知乎并做数据分析

知乎关注人数最多的前10位大V依次是:张佳玮、李开复、黄继新、周源、张亮、张小北、李淼、朱炫、葛巾、田吉顺。这些是知乎真正的大V,关注者数量极多。关注者最多的张佳玮有137万粉丝(抓取时),他的粉丝还在不断上涨,到现在已经有138万粉丝。关注者最少田吉顺也有57万粉丝,轮子哥(vczh)稍微少一些,排在第11位。

知乎回答问题最多的100位大V

这些大V在知乎很活跃…… 下图词云文字越大,表示回答问题数量越多。

python如何爬取知乎并做数据分析

具体的排名为:

python如何爬取知乎并做数据分析

知乎回答问题数最多的10位大V从大到小依次为:vczh、李东、赵钢、另一只袜子、四海之内、M3小蘑菇、kun yu、白猫转转风、yskin、肛里拉出个电锯。微软的工作貌似很闲,看轮子哥(vczh)整天刷知乎……

我们再来加上这几位用户在知乎的获得的赞数,看看“回答问题的数量”和“获得的赞数”之间有没有什么联系:

python如何爬取知乎并做数据分析

由上图我们可以粗略的得出结论,回答问题的数量和获得赞数的关系没有很大。上图中只有 kun yu 和 vczh 回答问题的数量和获赞数基本持平,榜单前十名的其它用户获得赞数虽然也不少,但和他们回答问题数量的排名比起来,还不在一个量级上。这从侧面也说明了一个问题,回答问题的质量更加重要,某些高质量的会更容易吸引用户点赞。

知乎参加live最多的100位大V

我们再来看一个有意思的统计,知乎参加 live 最多的100位用户,以及他们最多参加过多少场 live。(live 是知乎推出的一种类似于直播的问答形式,大V开一场 live,分享他所在领域的知识,用户买门票参与 live,是一种知识变现的方式)

python如何爬取知乎并做数据分析

再来看看他们最多参加过多少场 live:

python如何爬取知乎并做数据分析

最多的那个大V竟然参加过 1600+ 场 live,真的很有精力和金钱,哈哈。

看完上述内容,你们掌握python如何爬取知乎并做数据分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI