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

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


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

动机

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

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

思路

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

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

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

数据验证

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

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

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

原文发布于微信公众号 - 交互设计前端开发与后端程序设计(interaction_Designer)

原文发表时间:2017-06-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员笔记

钉钉机器人

6955
来自专栏13blog.site

Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简述及技术选型介绍

很久之前就开始打算整理一下自己的技术博客了,由于各种原因(借口总是可以找到的),实在抽不出时间所以计划一直处于搁置状态,一直只是心底的一颗小萌芽,日复一日的悠悠...

963
来自专栏开源优测

从0到1:测试工程师应该具备的基本功底

今天就测试基础知识进行分享,从几个层面来分享软件测试从业者应该具备什么样的基本功底。 笔者针对测试从业者必须掌握的基本功做了个分层: 1、操作系统层 在这个层面...

3548
来自专栏BestSDK

深度解析——短视频SDK的前世今生

2016 年中国移动短视频用户数为 1.5 亿,今年预计会达到 2.4 亿,增长率高达 58.2%,可见短视频的热度在一直提升;近几年,短视频的生产模式在不断演...

1.3K7
来自专栏开源优测

从0到1:测试工程师应该具备的基本功底

注: 本文来源自小密圈内部分享,更多精彩请加小密圈 今天就测试基础知识进行分享,从几个层面来分享软件测试从业者应该具备什么样的基本功底。 笔者针对测试从业者必...

36814
来自专栏SDNLAB

菜鸟驿站:学习SDN/NFV路上遇到的术语(二)

VNF:Virtualized Network Function(VNF)虚拟网络功能。NFV技术主要由3个部分构成,VNF、NFVI(网络功能虚拟化基础设施N...

3819
来自专栏竹清助手

基于RTMP数据传输协议的实时流媒体技术研究

本文来自论文《基于 RTMP 协议的流媒体技术的原理与应用》,文中研究了基于 Flash 平台的流媒体系统中使用的 RTMP 协议的原理和应用,并对网络上实时流...

7074
来自专栏华章科技

学好Python爬取京东知乎价值数据

如果你仔细观察,就不难发现,懂爬虫、学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样的编程语言提供越来越多的优秀工具,...

1372
来自专栏SDNLAB

SDN领域的“小苹果”—PLUMgrid

SDN 初创公司PLUMgrid是一群来自思科的工程师联合创办的,首席执行官Awais Nemat参与了思科旗舰产品Catalyst 6500和Nexus 70...

3553
来自专栏Python中文社区

关于Python爬虫,这里有一条高效的学习路径

数据是创造和决策的原材料,高质量的数据都价值不菲。而利用爬虫,我们可以获取大量的价值数据,经分析可以发挥巨大的价值,比如:

1633

扫码关注云+社区

领取腾讯云代金券