V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
n0vad3v
V2EX  ›  分享创造

可视化你的 GitHub 仓库数据,发掘更多的细节——GitHub Insights

  •  1
     
  •   n0vad3v ·
    n0vad3v · 2020-11-08 19:51:19 +08:00 · 2797 次点击
    这是一个创建于 1511 天前的主题,其中的信息可能已经有所发展或是发生改变。

    GitHub 用的久了,偶尔看到一些爆款仓库( Star 数量非常多)总会有一些想要对其中数据进行分析的冲动,最早一次是在 996ICU 仓库发布的时候进行的一个小小的分析(相关博文:对 996.icu 仓库 Stargazers 的一些小的分析),当时在完成了那个仓库的分析之后便感觉——这种分析的操作应该是通用的,我们应该需要有能力可以对任意 GitHub Stargazer 进行一些分析,然而由于各种原因没有成功完成,在看到 timquan 的 timqian/star-history 之后,不禁感慨,大家手速都好快呀(跑~

    Stargazer Register Times

    其实对于一个 GitHub 仓库而言,除了 Stargazer 数量以外,还有很多可以用来作统计和可视化的指标,我们从一个简单的问题开始吧:

    给我们仓库点 Star 的用户都是什么样子的人呢?

    要回答这个问题,我们可以首先看看他们都是什么时候注册的,我们以两个仓库进行对比吧:「 d3/d3 」和「 996icu/996.ICU 」,在「 d3/d3 」中,用户的「注册时间-注册数量」的图是这样的:

    相比较之下「 996icu/996.ICU 」仓库的「注册时间-注册数量」图是这样的:

    对比一下可以发现 Star 「 996icu/996.ICU 」 仓库的用户普遍注册时间比 「 d3/d3 」 的要晚一些,而且在 2019 年的时候注册时间还出现了一个非常突出的点,让我们回忆一下这个仓库的上线时间同时标记一下这个仓库的 Star 数量和时间曲线图:

    会发现这个项目在刚刚上线的时候有非常多的 Star,之后都比较倾向于平缓,那么那段陡增的 Star 有没有可能与这段用户有关呢?

    Stargazer Avatars

    有的时候,我会好奇:

    给这些仓库点 Star 的人,他们的头像是怎样分布的呢?

    继续用「 d3/d3 」和「 996icu/996.ICU 」作为对比,首先我们把他们的 Stargazer 数据全部拉下来,然后按照用户的 Follower 数量从小到大进行排序,并从左到右,从上到下拼接到一张图片中,就有了如下的情况,首先还是 「 d3/d3 」:

    然后是 「 996icu/996.ICU 」

    有没有发现 「 996icu/996.ICU 」 的图片中有一个非常明显的分层?从差不多 50% 的位置,以上的部分使用 GitHub 默认头像的用户较多。

    除此之外,我们是不是还可以把 Stargazer 们的 Company 生成词云,了解一下他们所在公司的信息,或者根据他们留的邮箱情况来统计一下他们的邮件服务商分布呢?

    其实有很多数据等待我们去发掘,为此,我专门做了一个站点,叫 GitHub Insights,地址是 https://github.re,欢迎来参观.

    由于 GitHub 仓库众多,目前的爬取策略是每天更新一次 GitHub Trending 的所有仓库并生成相关的可视化图表,后续可能会根据大家的搜索结果相关做一个分析队列,并逐渐加入更多的分析数据项,目前如果你对某个仓库感兴趣,或者希望我收录某个仓库的话,暂时可以邮件联系我进行添加~

    希望你会喜欢这个工具.

    14 条回复    2020-11-15 20:22:35 +08:00
    4ark
        1
    4ark  
       2020-11-09 08:48:52 +08:00 via iPhone
    这域名也能注册到?
    sillydaddy
        2
    sillydaddy  
       2020-11-09 12:27:29 +08:00
    使用用户头像来观察分层的 idea 不错,很有意思。
    n0vad3v
        3
    n0vad3v  
    OP
       2020-11-09 16:05:44 +08:00
    @4ark 在翻 Gandi 的时候偶然看到了,发现不贵就直接注册下来了😂
    tikazyq
        4
    tikazyq  
       2020-11-09 17:31:41 +08:00
    感觉没啥用...

    "This repo does not exist in GitHub Insights.."
    n0vad3v
        5
    n0vad3v  
    OP
       2020-11-09 20:03:54 +08:00
    @tikazyq 目前的更新策略是每天更新一次 GitHub Trending 的数据,请问您访问的是哪个仓库呢?
    暂时我们可以手动加入一下队列.
    tikazyq
        6
    tikazyq  
       2020-11-09 22:32:53 +08:00
    crawlab-team/crawlab

    建议采用 JIT 长任务的方式,如果不超过 1-2 分钟处理时间,问题也不大
    n0vad3v
        7
    n0vad3v  
    OP
       2020-11-10 09:18:30 +08:00
    @tikazyq

    已经加入: https://github.re/?repo=crawlab-team%2Fcrawlab

    感谢建议,之后会持续改进~
    binaryify
        8
    binaryify  
       2020-11-12 17:53:02 +08:00
    页面可以加个按钮手动添加吗
    n0vad3v
        9
    n0vad3v  
    OP
       2020-11-13 10:04:45 +08:00
    @binaryify 嗯,后期会考虑相关的功能的.
    zmqiang
        10
    zmqiang  
       2020-11-13 10:39:18 +08:00
    有两个小建议:
    1. 可不可以提供浏览或者随机查看的功能,不然想看效果都不知道搜什么,可能关心的库大概率不在
    2. 现在图片太小看不清,最好能提供查看大图的功能
    n0vad3v
        11
    n0vad3v  
    OP
       2020-11-13 21:14:57 +08:00
    @zmqiang 感谢建议,随机查看功能已经完成,目前在搜索框下方会随机出现 5 个仓库可以用来浏览,另外,我们上线了一个简单的搜索功能~

    大图功能也在做啦,预计很快就能看到上线~
    RYAN0UP
        12
    RYAN0UP  
       2020-11-14 12:23:19 +08:00
    很赞!
    johnniang
        13
    johnniang  
       2020-11-14 13:26:57 +08:00
    对于一些库无法分析
    n0vad3v
        14
    n0vad3v  
    OP
       2020-11-15 20:22:35 +08:00
    @johnniang 比如说捏?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2295 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 01:57 · PVG 09:57 · LAX 17:57 · JFK 20:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.