知乎人均985?Python爬50W数据,BI做出可视化后,我有了答案

一次完整的python数据分析流程是怎么样的?

使用python从网站抓取数据,并将这些数据保存到SQLite数据库中,然后对数据进行清洗,最后对数据进行数据可视化分析。

可是熟悉的人应该知道,python爬取简单,但是分析起来是很困难的,SQL语句、Pandas和Matplotlib这些十分繁琐,一般人也不会。

于是我想到了用一种更简单的方式进行数据分析,那就是python爬取+BI分析。什么是BI就不用我多做介绍了吧,python强大的数据获取能力,配合敏捷BI简单快捷的数据可视化操作,分析效果那肯定是杠杠的!

那这次我们就来看看“人均985,年薪百万”的知乎背后,到底有什么秘密?话不多说,开爬!

一、我们想要哪些数据?

知乎用户的学校和公司肯定是首当其冲的,我想看看到底这些人是编的还是真的哈哈哈。

其次就是性别,职业,地理位置,活跃程度等,统统扒个遍。

二、爬取的过程

知乎现在改用https请求了,数据加密,但是问题不大,重要的是网页数据改动了,而且在请求时后台会对爬虫做一些判断,因此在每次请求是都需要加上request header,尽可能接近浏览器请求的样子。

得到列表页的源码后,你可以从其中获取到每个问题的链接:

每页有20个问题,所以你可以获得到20个问题的链接,之后就是对每个问题的处理:

能实现到这一步,剩下的就是循环、判断和一些细节了。

最终一部分的代码如下:

import requests
import pandas as pd
import time
headers={
    'authorization':'',#此处填写你自己的身份验证信息
    'User-Agent':''#此处填写你自己浏览器的User-Agent
}
user_data = []
def get_user_data(page):
    for i in range(page):#翻页
        url = 'https://www.zhihu.com/api/v4/members/excited-vczh/followees?include=data%5B*%5D.answer_count%2Carticles_count%2Cgender%2Cfollower_count%2Cis_followed%2Cis_following%2Cbadge%5B%3F(type%3Dbest_answerer)%5D.topics&offset={}&limit=20'.format(i*20)
        response = requests.get(url, headers=headers).json()['data']
        user_data.extend(response) #把response数据添加进user_data
        print('正在爬取第%s页' % str(i+1))
        time.sleep(1) #设置爬取网页的时间间隔为1秒
if __name__ == '__main__':
    get_user_data(10)
    df = pd.DataFrame.from_dict(user_data)#以字典保存数据
    df.to_csv('zhihu.csv',encoding='utf_8_sig')#保存到用户名为zhihu的csv文件中,encoding='utf_8_sig'参数是为了解决中文乱码的问题
    print(df)

更多源代码见文末!

Python代码中我并没有采取线程池,而是采用了开起10个main()方法去抓取,即10个进程,历时4个小时,爬取了57w+数据。

三、用BI进行数据可视化分析

现在我们已经进行到最后一步用BI开始做数据可视化了,揭秘知乎的时刻就要到来了。

市面上的BI工具有很多种,国外的Tableau和国内的FineBI都是BI领域的领先者,但早就听说Tableau适合有基础的数据分析师,对于小白很不友好。再加上我前天偶然间看到了IDC的报告,发现帆软的市场占有率是第一,为了避免回炉重做,我选择了FineBI这款敏捷工具,事实证明,我的选择是对的。

首先在官网下载FineBI,虽说是企业级的数据分析平台,但是它对于个人是永久免费的,文末给大家准备了下载链接~

然后直接通过FineBI提供的数据配置端的功能,添加SQL数据集(或者直接添加表也行),查看和验证刚刚爬取并且入库的数据是否已经真正成功入库到MySQL中了。

忘了说,FineBI的一大特点就是自助分析。什么叫自助分析?就是我自己拖拖拽拽数据,就可以有和Matplotlib一样的效果,你也许还会想到Excel,但一般几万行的数据以上,excel基本就无能为力,很卡。但是FineBI处理大数据依然可以行云流水,效率高几十倍上百倍都有可能。

同时VBA有个致命弱点是,它只能基于excel内部进行自动化,其他方面就没办法了。

我在写这篇文章之前,分析过房价和销售额,特地把它做成了动图供大家参考:

我这有一个学习交流的圈子,虽然人数不是很多,但是各位学习python的小伙伴一起来学习交流,遇到什么问题
相互讨论,互相交流学术问题。学习交流企鹅群:745895701

四、知乎的数据可视化

FineBI的仪表板可自行拖拽调整组件位置,配上多种类型的柱状图、饼图、雷达图,数据可视化就是这么轻而易举,只有你想不到,没有它做不到。

1、哪个城市的知乎用户最多?

从云词图中我们可以看出,城市越繁华,知乎的用户人数就越多(文字越大,比重越大)。所以也可以看见北上广深四个一线城市处于最中心,新一线城市紧随其后,换句话说:知乎的人大部分在一线城市或者新一线城市,果然是见多识广!

再来看看具体的排名吧:

杭州处在第三名了,果然互联网的发源之地之一不是吹的,阿里网易起到了很大的作用,为什么这么说?等你看到职业就明白了。

2、他们都是哪些学校的?

你看看,你看看,这学历真的很高,谁说人均985都是吹的?

不过也不奇怪,知乎主打的就是高知识份子的聚集地,而且学生比起上班族,有更多的时间玩手机。

既然分析到学校了,我们肯定要来看看各个高校上玩知乎的男女比例:

不用我说你们就可以猜到,蓝色代表的是男生,女孩子要么在逛街,要么就在学习,低头玩手机的肯定是男孩子哈哈哈(虽然我也是男的)。

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

别说了,知乎人均985实锤了,我流下了羡慕的泪水,我想请问同学,是怎么做到玩和学习同时兼顾的?你如果教教我,我高考距离清华的录取分数线可能就更近一点了....

3、知乎的职业比例

除去学生之后,我们发现知乎的人都是....

产品经理最多,这是最近几年最火爆的职业吧,不过话说你的文档写好了?需求画好了?是不是知乎的页面交互你不太满意?不然还不去干活?

可以看到,除了一些互联网公司的常见职位外,教师和律师用户在知乎中也占据不小的比重。

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

总结

我分析了这么多,不是想告诉你们知乎的用户到底怎么怎么样,而是想说如果想做数据分析,FineBI确实是一款很好用的工具,对个人和对企业都是这样。

当然了,上面才只是FineBI的冰山一角,更多的东西还得你们自己去探索。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,002评论 6 542
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,400评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,136评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,714评论 1 317
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,452评论 6 412
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,818评论 1 328
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,812评论 3 446
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,997评论 0 290
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,552评论 1 335
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,292评论 3 358
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,510评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,035评论 5 363
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,721评论 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,121评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,429评论 1 294
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,235评论 3 398
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,480评论 2 379

推荐阅读更多精彩内容

  • 一次完整的python数据分析流程是怎么样的? 使用python从网站抓取数据,并将这些数据保存到SQLite数据...
    闪现码狗阅读 2,705评论 1 0
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 5,740评论 0 5
  • 昨天,在回家的路上,坐在车里悠哉悠哉地看着三毛的《撒哈拉沙漠的故事》,我被里面的内容深深吸引住了,尽管上学时...
    夜阑晓语阅读 3,810评论 2 9
  • 一。匹配。 判断一个字符串是否符合我们制定的规则? 二…捕获 字符串中符合我们正则表达式,规则的,内容捕获到。 三...
    时修七年阅读 1,001评论 2 0
  • 城空了,有树长出来 我的城死了 铸起它的人,杀死它的人 不愿因为这件事而骄傲 一座城的终结 永远因为终结这件事而显...
    于十六阅读 2,882评论 6 17