知乎用户图谱(用户数据分析)

2016-04-10 18:38:17

本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议

今天爬取了知乎,爬取页面量为381633个,爬下来的数据量为:97581,多少还是有点代表性

并且我的爬取逻辑是从用户的关注者中找到下一个要爬取的url,还是能晒掉一些僵尸用户

爬虫已经写成教程,在这:

http://aljun.me/post/22

为了证明我的数据还是能代表知乎用户群体的

我们先从大学用户数据开始看起:

大学


首先是大学分布前三十:

pic

我们可以看到:

  • 清北浙雄踞前三个,而且很明显的这些大学都是国内的一流大学,所以说知乎作为一个知识的分享地方,还是很受知识分子欢迎的
  • 接着,很明显前面的大学都是综合性大学,说明越是有多的文科专业的越有知乎上的求知欲

接着,我们看看知乎上面女性大学分布男性大学分布:

pic

pic

还是很明显的,那些传说找不到妹纸的大学真的妹纸少。。。。。。

(说多都是泪)

那么我们来看看我们的数据是否有代表性,我们以某些大学的类型和他们的专业分布来看看:

pic

pic

pic

pic

pic

我们可以清晰的看出类似同济北邮这种专业性很强的大学的分布还是很靠谱的,所以说明这份数据还是很有代表性的

职业


知乎上面其实有很多年轻人已经走向社会,那么他们的职业分布是怎么样的呢?

pic

我们可以清晰的看到,知乎上面真的都是产品经理啊。。。。。

而且程序员很多很多

首先,这里我们就要说到知乎的专业分布了

pic

我们可以清楚地看到,全是计算机咿咿呀呀,其他的也都是搞经济和金融的,,,,

知乎的男女性职业分布呢?

pic

pic

两者产品经理都好多啊。。。。。但是可以看到,,,,程序员都是男的!!!!而且女性很多设计师之类广义上我们觉得女性多的职业

好的,那么不同地方的职业呢?

pic

pic

北京和上海好像差不多。。。。。

所在地


我们来看看知乎用户的所在地分布吧:

pic

杭州的也好多啊,,,不愧是中国电子商务之都,,倒是深圳是不是少了点啊

我们来看看计算机相关专业的所在地分布吧:

pic

好吧,,,我们再看看金融的:

pic

北京果然还是厉害啊。。。。。

公司


我们来看看知乎上面的公司分布:

pic

互联网公司!互联网公司!互联网公司!!!重要的事情说三遍!!

而且前面的好像就是股市排名啊。。。。

我们来看看北京用户的公司分布:

pic

我们再来看看上海的:

pic

百度。。。你这样真的好么???

我们来看看计算机相关专业的公司分布:

pic

金融相关专业公司分布:

pic

好的我们来看看用户关系吧

用户关系


首先是是赞数的分布:

pic

很明显得可以看到,热门的人还是凤毛麟角的,大多数人的赞都不多

被关注数(粉丝数)呢:

pic

所以可以看到,知乎是一堆大v带着玩的社区

还有的就是知乎的性别分布了,居然不是1:1!!!!!!

pic

以上就是我拿zhihu的十万用户数据做的用户图谱研究

使用的脚本代码如下,,可以忽略的,,,

    # -*- coding: utf-8 -*-
    #encoding:utf-8

    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")

    import pandas as pd
    import matplotlib.pylab as plt
    import seaborn as sns
    import numpy as np

    data=pd.read_csv("zhihu_data.csv")

    '''
    sr=data['公司'].value_counts()[:30]


    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.set_title("知乎公司分布")
    rects1 = ax.barh(range(len(sr.values)),sr.values[::-1], align = 'center',alpha=0.6,color="purple")
    ax.set_ylim(-1,30)
    ax.set_yticks(range(len(sr.values)))
    ax.set_yticklabels(sr.index[::-1], rotation=0 )
    ax.set_xlim(0,max(sr.values)*1.1)
    plt.show()
    '''
    '''
    plt.plot(data[data['关注者']>50]['关注者'].order(),np.arange(len(data[data['关注者']>50])),color='blue',alpha=0.6)
    plt.scatter(data[data['关注者']>50]['关注者'].order(),np.arange(len(data[data['关注者']>50])),color='purple',alpha=0.6)
    plt.title("知乎被关注者数(>50)分布")
    plt.show()

    '''

    '''
    sr=data['性别'].value_counts()


    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.set_title("知乎性别分布")
    rects1 = ax.barh(range(len(sr.values)),sr.values, align = 'center',alpha=0.4,color="red")
    ax.set_ylim(-1,2)
    ax.set_yticks(range(len(sr.values)))
    ax.set_yticklabels(sr.index[::-1], rotation=0 )
    ax.set_xlim(0,max(sr.values)*1.1)
    plt.show()

    '''

    '''
    sr=data[((data['专业']=='计算机科学')|(data['专业']=='软件工程')|(data['专业']=='计算机')|(data['专业']=='计算机科学与技术')|(data['专业']=='通信工程')|(data['专业']=='计算机科学与技术'))]['公司'].value_counts()[:30]



    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.set_title("知乎计算机相关专业公司分布")
    rects1 = ax.barh(range(len(sr.values)),sr.values[::-1], align = 'center',alpha=0.6,color="purple")
    ax.set_ylim(-1,len(sr))
    ax.set_yticks(range(len(sr.values)))
    ax.set_yticklabels(sr.index[::-1], rotation=0 )
    ax.set_xlim(0,max(sr.values)*1.1)
    plt.show()
    '''
    '''
    sr=data[((data['专业']=='金融')|(data['专业']=='经济学')|(data['专业']=='计算机')|(data['专业']=='金融学')|(data['专业']=='市场营销')|(data['专业']=='会计'))]['公司'].value_counts()[:30]



    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.set_title("知乎金融相关专业公司分布")
    rects1 = ax.barh(range(len(sr.values)),sr.values[::-1], align = 'center',alpha=0.6,color="purple")
    ax.set_ylim(-1,len(sr))
    ax.set_yticks(range(len(sr.values)))
    ax.set_yticklabels(sr.index[::-1], rotation=0 )
    ax.set_xlim(0,max(sr.values)*1.1)
    plt.show()
    '''
    '''
    sr=data[((data['专业']=='计算机科学')|(data['专业']=='软件工程')|(data['专业']=='计算机')|(data['专业']=='计算机科学与技术')|(data['专业']=='通信工程')|(data['专业']=='计算机科学与技术'))]['所在地'].value_counts()[:30]



    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.set_title("知乎计算机相关专业所在地分布")
    rects1 = ax.barh(range(len(sr.values)),sr.values[::-1], align = 'center',alpha=0.6,color="purple")
    ax.set_ylim(-1,len(sr))
    ax.set_yticks(range(len(sr.values)))
    ax.set_yticklabels(sr.index[::-1], rotation=0 )
    ax.set_xlim(0,max(sr.values)*1.1)
    plt.show()
    '''
    '''
    sr=data[((data['专业']=='金融')|(data['专业']=='经济学')|(data['专业']=='计算机')|(data['专业']=='金融学')|(data['专业']=='市场营销')|(data['专业']=='会计'))]['所在地'].value_counts()[:30]



    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.set_title("知乎金融相关专业所在地分布")
    rects1 = ax.barh(range(len(sr.values)),sr.values[::-1], align = 'center',alpha=0.6,color="purple")
    ax.set_ylim(-1,len(sr))
    ax.set_yticks(range(len(sr.values)))
    ax.set_yticklabels(sr.index[::-1], rotation=0 )
    ax.set_xlim(0,max(sr.values)*1.1)
    plt.show()

    '''
    '''
    sr=data[data['所在地']=='北京']['公司'].value_counts()[:30]



    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.set_title("知乎北京公司分布")
    rects1 = ax.barh(range(len(sr.values)),sr.values[::-1], align = 'center',alpha=0.6,color="purple")
    ax.set_ylim(-1,len(sr))
    ax.set_yticks(range(len(sr.values)))
    ax.set_yticklabels(sr.index[::-1], rotation=0 )
    ax.set_xlim(0,max(sr.values)*1.1)
    plt.show()

    '''
    sr=data[data['所在地']=='上海']['职位'].value_counts()[:30]



    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.set_title("知乎上海职位分布")
    rects1 = ax.barh(range(len(sr.values)),sr.values[::-1], align = 'center',alpha=0.6,color="purple")
    ax.set_ylim(-1,len(sr))
    ax.set_yticks(range(len(sr.values)))
    ax.set_yticklabels(sr.index[::-1], rotation=0 )
    ax.set_xlim(0,max(sr.values)*1.1)
    plt.show()

数据分析 返回首页

Designed and built with all the love in the world by the Mr.ALJUN.

@SERVER BY NGINX AND POWER BY DIGITALOCEAN.

© COPYRIGHT BY GAGASALAMER 2015