Github上聚集了世界上很多优秀的工程师,团队和优秀的开源项目,事实上也是聚集了软件行业相当一部分的思考和实践。分析Github上的数据无疑是一件非常有意义和价值的事情,下图就是我所使用的方法绘制的GitHub license 词云,先一睹为快吧。

同时我觉得以Github数据为基础,写一写相关的软件论文还是非常的容易,目前这方面的题材也不多。

有很多的公众号以及文章介绍了Github上的各种趋势以及热门项目,当然使用的方法绝大多数是基于爬虫的。事实上,有无数的程序员,在学习爬虫技术之后可能会拿GitHub进行练手,分析GitHub上的数据,不信你可以在GitHub上搜一遍。至此你可能认为本文介绍的是爬虫,当然不是,已经有那么多爬虫文章,我也没必要再多搞一篇。因为我思考了一下爬虫的方法至少存在以下四个主要问题:

(1),爬虫的数据不全,通常只取页面中某几项的信息。多数爬虫的文章只是讲述了原理,要想对于GitHub这种级别的网站进行全面的爬取,面临的困难重重。说起来爬虫的本质就是一条HTTP请求,但是工程实现并不简单。

(2),爬取的数据不够详细,即使爬取到了fork的数量,还是没有办法知道这些fork数量是2018年还是2019年发生的事情。

(3),个人即使爬取到较多的数据,存储检索如此巨大的数据都会存在很多的问题。

(4),GitHub上时刻都有事件发生,要维持频繁更新并不容易。

因此我所介绍的并不是不爬虫,所介绍的是直接获取Github上所有活动数据的四种方法。

(1),有的方法可以下载本地离线分析,对于个人用户数据格式检索不方便。

(2),有的方法可以存成数据库在本地,对于个人用户数据量大,TB级数据,存储是一个问题,检索也不够快。

(3),云数据库的方法在存储和检索方面有优势,但是不能够完全的自动化操作。

(4),如何使用云数据库的API去完成自动化操作,看起来不错。

授人以鱼不如授人以渔,本文将上述几种分析GitHub数据的方法分享出来,希望大家在了解本文的方法后能做更多有价值的事情。

上述方法逐层递进,每一种方法都有其优势和不足之处,可以按照自己的需求选取适合自己的方法,然后你写可以在公众号或者博客中分析Github上如下一些有趣的事情,如下:

(1),GitHub 中哪种语言以及 License 的项目最多?

(2),你的母校,所在公司在 GitHub 开源贡献排名,bat排名如何,中国在 GitHub 开源贡献排名?

(3),程序员提交代码背后的黑话都有哪些,commit记录和issue中里面出现最高的词汇是什么?

(4),GitHub 上有多少独立仓、多少独立提交、多少独立开发者?

(5),哪些大神在 GitHub上的贡献最多,哪些项目被 star,Fork 的次数最多?

(6),开源是程序员之间的社交,隐藏在他们背后的黑话都有哪些呢?

(7),github中哪种语言的项目最多,哪种license的项目最多?这在诸多公司开源治理中可能用得到,如果你使用了GPL license的项目,那要小心了。

(8),伊朗开发者被移除github,是怎么做到的

(9),评论里面出现最高的词汇是什么?

(10),github中所有的python开源项目中, 哪个模块的引用最多?或者java项目中哪个jar包的引用次数最多?

(11),按照时间的粒度分析github的趋势,例如一个小时,一天,一个月,甚至一年。例如在这个时间段内产生了多少次commit,star,fork等等。

我只是选取了一些话题,你还可以分析其他的一些有趣的事情。很多基于Github的推荐基本都可以采用本文的方法。在学习完本文方法之后你也可以像一些公众号那样定期发布 GitHub 的一些趋势走向了,当然关于github的种种你都都可以按照自己的意愿去查询,gitchub中隐藏着大量的财富等待你去挖掘。

下面到了最重要的部分,具体方法我在Gitchat 《原来你是这样的 GitHub》上进行了撰写,这里,账号和我的博客同名 村中少年 。

下图亮出一张某个项目的issue title词云以及一个统计词云,可以提前看下:

大家可以猜猜是哪一个项目,应该很容易被猜到。还等什么,赶快行动起来吧。

本文为CSDN村中少年原创文章,转载记得加上原创出处,博主链接这里。

硬核干货,史上最强获取GitHub所有仓库内容数据分析教程相关推荐

  1. 超硬核!史上最好的数据库总结

    文章目录 什么是数据库和数据结构有何关系? 常见的数据库软件 MySQL的概念 数据库的增删改查 查看表结构的一些细节 注释 MySQL表的增删改查 插入insert into 条件查询中的一些细节! ...

  2. 硬核!史上最全的工厂模式文章,从零到一全面讲解!

    文章首发于「陈树义」公众号及个人博客 shuyi.tech,欢迎访问更多有趣有价值的文章. 工厂模式是编程中用得最多的设计模式.本文由一个简单的生活例子触发,从工厂方法模式到简单工厂模式,再到多工厂模 ...

  3. Redis史上最强【集群】入门实践教程

    来自:我没有三颗心脏 一.Redis 集群概述 Redis 主从复制 到 目前 为止,我们所学习的 Redis 都是 单机版 的,这也就意味着一旦我们所依赖的 Redis 服务宕机了,我们的主流程也会 ...

  4. springboot redis 断线重连_Redis(9)——史上最强【集群】入门实践教程

    一.Redis 集群概述 Redis 主从复制 到 目前 为止,我们所学习的 Redis 都是 单机版 的,这也就意味着一旦我们所依赖的 Redis 服务宕机了,我们的主流程也会受到一定的影响,这当然 ...

  5. Redis——史上最强【集群】入门实践教程

    一.Redis 集群概述 Redis 主从复制 到 目前 为止,我们所学习的 Redis 都是 单机版 的,这也就意味着一旦我们所依赖的 Redis 服务宕机了,我们的主流程也会受到一定的影响,这当然 ...

  6. Redis:史上最强【集群】入门实践教程

    来源:我没有三颗心脏 一.Redis 集群概述 Redis 主从复制 到 目前 为止,我们所学习的 Redis 都是 单机版 的,这也就意味着一旦我们所依赖的 Redis 服务宕机了,我们的主流程也会 ...

  7. Redis(9)——史上最强【集群】入门实践教程

    一.Redis 集群概述 Redis 主从复制 到 目前 为止,我们所学习的 Redis 都是 单机版 的,这也就意味着一旦我们所依赖的 Redis 服务宕机了,我们的主流程也会受到一定的影响,这当然 ...

  8. 【经典干货】GitHub标星10万+,史上最强Google面试指南!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 一位从1997年就入行的Web工程师,立志要成为Google软件工程师,3年前写下 ...

  9. 3分钟入门python_3分钟学完Python,直接从入门到精通「史上最强干货库」

    作为帅气小编,我已经把python一些模块的甩在这儿了qwq,只要你拿到这些干货,包你玩转python,直接冲向"大佬"的段位,如果已经学了C或者C++或者说如果你需要你的一段关键 ...

  10. 硬核干货来了!手把手教你实现热力图!

    以下内容转载自腾讯位置服务公众号的文章<硬核干货来了!鹅厂前端工程师手把手教你实现热力图!> 作者:腾讯位置服务 链接:https://mp.weixin.qq.com/s/bgS7uFl ...

最新文章

  1. 微信 request 合法域名校验出错
  2. Android UI进阶之旅9 Material Design之沉浸式设计
  3. python拿什么做可视化界面好-python爬虫如何制作可视化界面?(pyqt5环境配置篇)...
  4. Sourceforge.net速度快的镜像 [zt]
  5. JavaScript程序开发(十五)—函数的属性和方法
  6. Oracle修改表空间为自动扩展
  7. VCSA 6.7 U2无DNS部署 VCSA 7正式版无DNS部署
  8. wr885n虚拟服务器设置,动态IP设置:选择动态IP(以太网宽带
  9. mysql pdo支持_使php支持pdo_mysql
  10. 简洁的 HTML5 音乐播放器
  11. deque插入和删除操作
  12. 工具分享:xampp-windows-x64-7.3.2-1-VC15-installer.exe 请自行下载(附下载链接)
  13. android客户端跟服务器交换数据,Android客户端和服务器端数据交互的第一种方法...
  14. 方正中间件创业大赛南京赛区圆满落幕
  15. centos7部署calamari
  16. [Swift]LeetCode473. 火柴拼正方形 | Matchsticks to Square
  17. 如何合理管理您的时间呢?
  18. 静态资源优化:图片优化
  19. GCN-Global Convolutional Network
  20. 磁粉制动器磁滞特性的研究笔记

热门文章

  1. 【饥荒脚本】饥荒控制台代码自动输入
  2. Silvaco TCAD仿真学习Lesson1——Atlas仿真
  3. mysql pdo教程_(唯一合适) PDO 教程
  4. php pdo 遍历,PHP PDO操作总结
  5. 上海驾驶证满6年换证
  6. 牛顿冷却定律,衰减因子alpha
  7. oracle提高delete的效率,提高Oracle DELETE性能的策略
  8. 如何成为一个优秀的测试工程师
  9. C# 清除cookies
  10. 卢菲菲记忆课程(一、了解记忆认识大脑)