Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

cloudaice/simple-data

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

317 Commits

Repository files navigation

Make Data Simple Beautiful

Github用户活跃度排名

  • 中国大陆地区Github用户分布地图

  • 世界范围内的Github用户分布地图

  • 中国大陆地区Github用户活跃度排名

  • 世界范围内Github用户活跃度排名

实现

  • Python Tornado 框架,利用gen模块的coroune异步抓取数据

  • 使用Github API搜索followers前1000的用户, 结合网页抓取获取用户信息。

  • 部署在heroku上

排名计算

Formula:

Formula = lambda x: 2 ** 10 / (1 + pow(exp(1), -(x - 2 ** 7) / 2 ** 5))

formula

Score:

Score = Formula(followers) + Contributions

首先抓取followers排名前1000的用户,然后再使用公式计算Score值。 因此followers排名进不了前1000,根本不会进入到score计算阶段, 设计这样的计算公式的原因是考虑到followers在前期的增长含金量比较高, 而之后的增加主要是影响力因素,因此,如果你在github初露锋芒, 那么folloers的增加会导致score疯狂上涨。

地名匹配

这是一个比较头痛的事情,也是花费时间最长的步骤。因为每个用户的地名都不一定提到关键省份, 例如在hangzhou的用户就习惯直接写hangzhou,而不会提及zhejiang。 因此这里需要能够模糊匹配的库。 后来在http://www.geonames.org/上找到开放接口,通过查询API可以得到简单的模糊匹配结果。 然后在内存中建立缓存,将匹配成功的地名分别update到Github的gists文件夹中。

匹配不到的再通过手动添加映射。

运行

clone该项目,在项目的根目录下创建config.py文件,编辑内容如下:

from tornado.options import define
define("username", "your-github-username")
define("password", "your-github-password")

在根目录下执行 python app.py,然后访问浏览器localhost:8000

TODO

  • (削除) 完善Github用户所在地分析 (削除ここまで) (#已完成)

  • (削除) 增加世界范围内用户分布地图 (削除ここまで) (#已完成)

  • 点击地图某一块区域显示该区域的成员列表

  • 迁移到openshift平台

Demo

  • 中国用户分布图

Github-china

  • 世界用户分布图

Github-world

  • 应用地址

data.cloudaice.com

: 由于heroku不支持websocket,因此在线服务版本为ajax轮询版本。 目前在寻找免费的支持websocket的云平台。

另外如果网站打不开,请使用梯子。

更新日志

####2013年05月25日

  • 替换原来的ajax,使用websocket传输数据
  • 修改部分页面显示

####2013年05月26日

  • 使用geonames.org进行模糊地名匹配
  • 修复没有name显示为空的bug

####2013年05月31日

  • 增加了世界范围内的分布显示
  • 增加模糊匹配缓存文件
  • 修改默认china匹配到上海的bug

About

make data simple

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /