雷诺阅读
扫描关注天津网站建设微信公众账号

扫一扫关注微信

怎样成为知乎大V?爬取张佳玮138w+关注者:数据可视化

雷诺网络2018-01-17 16:59:26雷诺干货

QQ截图20171211100002.jpg

一、前言

作为简书上第一篇文章,先介绍下小背景,即为什么爬知乎第一大V张公子的138w+关注者信息?

其实之前也写过不少小爬虫,按照网上各种教程实例去练手,“不可避免”的爬过妹子图、爬过豆瓣Top250 电影等等;也基于自身的想法,在浙大 120 周年校庆前,听闻北美帝国大厦首次给大陆学校亮灯,于是爬取2016- 2017 年官网上每日的亮灯图并用python的PIL库做了几个小logo,算是一名吃瓜群众自发的庆贺行为。

北美帝国大厦亮灯图:ZJU120

也因为喜欢鲁迅的作品,爬过在线鲁迅全集的全部文章标题和链接;另外听说太祖的某卷书是****,于是顺带也爬了遍毛选;还帮老同学在某票据网站下线前爬了大部分机构、人员信息,说是蛮值钱,然而也还在留着落灰......

微博签到数据点亮中国

再是知道百度Echarts开源的可视化网站里面的图很酷炫,比如使我着迷的:微博签到数据点亮中国,http://echarts.baidu.com/demo.html#scatter-weibo 于是想着可以爬取微博大明星、小鲜肉的粉丝的居住地,然后搞搞怎么画出全国乃至全球分布情况。但发现几年前微博就限制只能查看 200 左右粉丝数(具体忘了),蛮扫兴的,于是将目光转向了知乎......

而既然要爬,那就爬关注人数最多的张公子吧,数据量也大,这方面是之前小项目所不及的,此前也看过不少爬知乎数据与分析的文章,因此也想练练手,看看大量访问与获取数据时会不会遇到什么封IP的反爬措施,以及数据可视化能搞成什么样。

不过此文在爬虫部分不做过多展开,看情况后续再另写一文。

思路如下:抓包获取张佳玮主页关注者api,然后改变网址中offset参数为 20 的倍数,一直翻页直到获取138w+关注者信息,其中返回的json数据主要有:关注者的昵称、主页id(即url_token)、性别、签名、被关注人数等,也就是说需要访问所有主页id,才能获取更多信息(个人主页api:以黄继新为例):居住地、所在行业、职业经历、教育经历、获赞数、感谢数、收藏数等等。鉴于还不怎么会多进程爬取,如果把所有id再爬一遍会非常耗时间,于是筛选被关注数100+的id,发现只剩了4.1w+,之后较完整提取了这部分的信息,后续可视化也多基于此。

爬取信息一览

文章关键词