文档章节

爬取知乎60万用户信息之后的简单分析

brianway
 brianway
发布于 2016/12/20 22:35
字数 1276
阅读 9262
收藏 325
点赞 31
评论 49

爬取知乎60万用户信息之后的简单分析

标签 : webporter


[TOC]


使用 Java+Elasticsearch+Kibana 爬取了知乎 60 万用户数据,做了简单的可视化分析。


项目源码 GitHub - webporter

动机

在知乎上看到有个叫 @路人甲 的大神每隔一段时间就爬爬豆瓣/B站等等网站,做了很多有意思的分析,加上之前因为实验室项目接触过 Nutch,浅尝辄止了,所以一直想好好玩玩爬虫。

网上 Python 的爬虫教程很多,而自己的主语言是 Java,本着宣传 Java,以练促学的目的,我使用 Java 爬取了知乎 60 万用户信息,主要想看看知乎上妹子多不多啊/是不是都是基佬啊,标配常青藤/年薪百万是不是真的啊,等等。

思路

为了保证数据的质量,避免爬到一些僵尸号什么的,我选择爬取关注列表而非粉丝列表。我随机挑选了一位粉丝过千的优秀回答者作为起始,爬取他的关注列表,再对列表中的每个人爬取其关注列表,以此类推……

下载了大概 7 个小时,爬了 40 多万用户的关注列表,拿到了 10G 的数据,如图所示:

爬取10G数据

理论上有 800 多万用户,可惜有很多重复的,去重后将数据导入 Elasticsearch,得到 60+ 万用户数据:

ES索引

数据验证

接下来简单看看下载下来的数据靠不靠谱,随手在知乎和我的 Kibana 分别搜了下轮子哥 @vczh

搜索轮子哥

搜索轮子哥

可以看到,连同名的都搜出来是一样的,数据没啥问题。

关心的数据

然后使用 Elastichearch 的聚合查询配合 Kibana 对数据进行可视化展示,我主要分析了下面几个问题:

  • 性别分布
  • 粉丝最多的用户top10
  • 员工最多的公司top10
  • 校友最多的学校top10
  • 人数最多的地方top10
  • top10行业分布
  • top10职业分布

图中涉及性别的, 1 表示男,0 表示女,-1 表示不男不女

性别分布

性别分布

可以看到知乎男性人数过半了,比女性和未知性别加起来都多。

粉丝最多的用户top10

粉丝最多的用户top10

粉丝数前 10 的依次是 @张佳玮,@李开复,@黄继新,@周源,@yolfilm,@张亮,@张小北,@李淼,@葛巾,@采铜。最多的 120 万粉丝,第十也过 60 万了。不过前十里好几个都是知乎员工,有黑幕的嫌疑吧?

员工最多的公司top10

员工最多的公司top10

可以看到 BAT 全部上榜了(乱入了一个学生什么鬼?),仅接着是网易,华为,谷歌,微软,美团。都是牛逼哄哄的互联网相关企业,看来国企和实体企业比较低调,不在知乎填公司信息啊。

另外华为的男女比简直不能看啊,妹子那么少,想去华为的单身狗们需要好好考虑一下了。

校友最多的学校top10

校友最多的学校top10

差强人意,校友人数排名前十的全特么是 985 啊,清北复交浙全部上榜,俨然中国大学排行榜。看来知乎标配不是常青藤,而是 985 嘛。另外可以看到,我科(倒数第三个)的男女比在这几个里面确实感人,难怪我现在还单身...

人数最多的地方top10

人数最多的地方top10

北京独领风骚,上海紧随其后。另外知乎居然把深圳和广州根据有没有“市”标记为了两个城市,简直坑爹,我也懒得二次处理了。综合来看,北上广深杭,主要集中在这五个城市,基本也是我国互联网企业分布最多的几个城市。

top10行业分布

top10行业分布

可以看到,互联网和计算机软件两个加起来就占了半数以上,要是算上电子商务和电子游戏等基本是程序员的天下了,所以知乎上程序员偏多,IT 从业者占主流啊。

另外互联网的男女比大概 2:1 的样子吧,法律,信息传媒和创意艺术的男女比比较均衡,大概五五开。

top10职业分布

top10职业分布

将近四分之一是产品经理,创始人和 CEO 也不少,比工程师还多,学生也占一定比例。另外除了运营和编辑的男女比差不多,其它都是男多女少啊。

结语

从这 60 万用户数据可以看出,知乎的主要群体是程序员和学生,平均学历 985 不是黑,是真的!虽然知乎用户远不止 60 万,这些数据分析出来的结果可能有些偏差,但应该也能说明一些问题吧。

最后按照国际惯例,附上源码,GitHub - webporter


作者@brianway更多文章:个人网站 | CSDN | oschina

© 著作权归作者所有

共有 人打赏支持
brianway
粉丝 304
博文 97
码字总数 130139
作品 0
武汉
后端工程师
加载中

评论(49)

zanglaowei
zanglaowei
哈哈
香樟树下
怎么爬的,分享一下完整过程吧!
Lunke
Lunke

引用来自“dipsey”的评论

这些被关注的,理论上属于活跃用户,是少数人,平均985是可能的。那些非985,属于沉默的大多数。

@younix 赞同
tuerqidi
tuerqidi
:tada:
shitalpig
shitalpig

引用来自“simawei”的评论

有点意思,我只用爬虫抓了点视频外链,magnet种子。。而且是php的,效率感人

php不是比Java的性能好很多吗
国栋
国栋
good!喜欢这种用数据说话的文章。
abcijkxyz
abcijkxyz
知乎潜水五年
manyu2016
manyu2016
现在爬虫怎么这么火?都在讨论这个,爬虫和采集有啥区别
manyu2016
manyu2016
现在爬虫怎么这么火?都在讨论这个,爬虫和采集有啥区别
manyu2016
manyu2016
现在爬虫怎么这么火?都在讨论这个,爬虫和采集有啥区别
Java爬虫抓取知乎20万用户信息并做简易分析

前段时间看@路人甲 分享了一篇爬取知乎用户的文章,心血来潮,想着也该把自己很早写的知乎爬虫完善一下 趁着每天实习回来还有点时间,整理了下思路和原来的代码 因为自己不太爱用框架,所以爬...

KKys
2017/01/21
0
0
Java 知乎爬虫

目标 爬取知乎用户信息,并作简要分析。所爬的对象是的用户,因为: 关注者数量<10的用户,很多的僵尸用户、不活跃用户 我爬虫的目的也不是大而全,高质量用户更有分析意义 整体思路 JDK 环境...

被称为L的男人
2017/12/03
0
0
知乎上8个100K+高赞回答(筛选自63万个回答)

最近知乎首页上老是看到这个话题:《知乎上的高票答案就是好的吗?》,很好奇目前高赞回答都有哪些?各有多少赞同数?于是继续这些天爬知乎数据的节奏,以大小V主页的回答为爬取入口(按赞同...

Deserts_X
2017/10/27
0
0
知乎320万用户的个人信息分析与可视化

Part 1: 动机 作为一个知乎的重度用户,我深深的被知乎社区的高素质群体所吸引,这也是我在微信朋友圈、新浪微博、baidutieba等社区见不到的东西。那么为什么知乎这个社区的群体素质偏高呢,...

YoghurtIce
2015/12/22
0
0
用python的PIL库轻松拼接一百张照片

多图预警,请在wifi下观看。 和大家分享下之前用python的第三方库PIL库进行多图拼接制作的一些漂亮的照片墙成果图。 一、微信好友头像 我不会Photoshop(PS),所有知道PIL库可以处理图像时,...

Deserts_X
2017/11/09
0
0
用Zhihu-OAuth库轻松爬取知乎各类数据

去年(手动滑稽)某日想爬取知乎特定话题下的全部回答数据,于是翻出以前写的知乎话题爬虫跑运行了下,没想到遇到一个一直没能解决的bug,貌似是抓包到的API返回的JSON数据格式有问题,于是遭...

Deserts_X
01/02
0
0
爬虫课程(十一)|知乎:使用Scrapy模拟登录知乎

前面爬虫课程七、八、九、十,我把爬虫豆瓣读书的爬虫讲解完毕啦,我们很顺利地爬取了豆瓣读书书籍内容,爬取过程中也不需要用户登陆。 然而,有些时候,我们要爬取某些信息时是需要我们在登...

小怪聊职场
2017/11/10
0
0
光棍节专题:python程序员如何找女朋友

前言:本文主要讲scrapy框架的原理和使用,建议至少在理解掌握python爬虫原理后再使用框架(不要问我为什么,我哭给你看)。 双十一马上就要来了,在举国一片“买买买”的呼声中,单身汪的咆哮...

宅米RICE
2017/11/10
0
0
利用Python寻找命中注定的另一半, 大家都觉得不可信, 毕竟都还没看这篇神级教程!

既然是Python程序员找美女,就要用python程序员的方法。 今天我们的目标是,爬社区的美女而且,我们又要用到新的姿势(雾)了scrapy爬虫框架~ 1scrapy原理 在写过几个爬虫程序之后,我们就知道...

柯西带你学编程
06/06
0
0
2个月精通Python爬虫——3大爬虫框架+6场实战+分布式爬虫,包教包会

阿里云大学在线工作坊上线,原理精讲+实操演练,让你真正掌握云计算、大数据技能。 在第一批上线的课程中,有一个Python爬虫的课程,畅销书《精通Python网络爬虫》作者韦玮,带你两个月从入门...

云木西
06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
9
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
4
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
176
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
昨天
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
昨天
2
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
昨天
2
0
开发技术瓶颈期,如何突破

前言 读书、学习的那些事情,以前我也陆续叨叨了不少,但总觉得 “学习方法” 就是一个永远在路上的话题。个人的能力、经验积累与习惯方法不尽相同,而且一篇文章甚至一本书都很难将学习方法...

_小迷糊
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部