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

华盟原创文章投稿奖励计划

使用 Java+Elasticsearch+Kibana 爬取了知乎 60 万用户数据,做了简单的可视化分析。虽然是用Java的,但是思路也值得Python程序员学习。


项目源码 GitHub - webporter  https://github.com/brianway/webporter

动机

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

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

思路

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

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

1

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

1

数据验证

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

1

1

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

然后使用 Elastichearch 的聚合查询配合 Kibana 对数据进行可视化展示。

本文主要放技术分析这一块,具体数据情况可以查看阅读原文。

最后按照国际惯例,附上源码链接[GitHub - webporter]: GitHub - webporter  https://github.com/brianway/webporter

来自:Brian's Homepage 

链接:http://brianway.github.io/2016/12/20/webporter-zhihu-user-analysis

程序猿自媒体已获转载授权

本文原创,作者:congtou,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/147335.html

发表评论