继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

发布一个Github Trending的API, 并开源

萧十郎
关注TA
已关注
手记 166
粉丝 36
获赞 166

之前在写CoderPub时, 个人比较喜欢的github trending功能, 官方并没有开放API. 找了很久, 最后使用了这个. 这个接口完全不是RESTful的模式, 接口请求很麻烦且诡异, 具体大家可以参看这个工程的README.

这两天稍微闲点, 就自己撸了一个, 有需要的朋友随意取用.
选用了Python语言, Flask微框架, 使用BeautifulSoup解析网页.

API Docs

1, Trending Repos

接口名: 获取Trending的仓库列表
API: /api/github/trending/<lang>?since=(daily,weekly,monthly)
方法: GET
请求参数:

参数说明方式类型必选备注
lang语言分类path形式String可选类似github trending网页的方式
since时间区间query形式String可选daily,weekly,monthly

响应:
返回一个Repo的列表, 包含数据如下:

参数说明类型说明
avatar拥有者头像Stringurl字符串
owner拥有者String/
reporepo名字String/
descrepo描述String/
stars选中区间的stars数int/
linkrepo链接String/

示例:
请求url: http://anly.leanapp.cn/api/github/trending/java?since=weekly
响应结果:

[{
    avatar: "https://avatars3.githubusercontent.com/u/69631?v=3&s=40",
    desc: "A framework for building native apps with React.",
    link: "https://github.comfacebook/react-native",
    owner: "facebook",
    repo: "react-native",
    stars: 417},

...

{
    avatar: "https://avatars3.githubusercontent.com/u/4239472?v=3&s=40",
    desc: "A small android library to transition between a circular ImageView from one Activity to a rectangular ImageView in the launched Activity.",
    link: "https://github.comvikramkakkar/ImageTransition",
    owner: "vikramkakkar",
    repo: "ImageTransition",
    stars: 206}]

2, Trending Developers

接口名: 获取Trending的开发者列表
API: /api/github/trending/<lang>?since=(daily,weekly,monthly)
方法: GET
请求参数:

参数说明方式类型必选备注
lang语言分类path形式String可选类似github trending网页的方式
since时间区间query形式String可选daily,weekly,monthly

响应:
返回一个开发者的列表, 包含数据如下:

参数说明类型说明
avatar开发者头像Stringurl字符串
name拥有者名字String/
full_name拥有者全名StringoriginName(NickName)的形式
link开发者主页链接String/

示例:
请求url: http://anly.leanapp.cn/api/github/trending/developers/java?since=weekly
响应结果:

[{
    avatar: "https://avatars3.githubusercontent.com/u/69631?v=3&s=40",
    full_name: "facebook (Facebook)",
    link: "https://github.com/facebook",
    name: "facebook"}, 

...

{
    avatar: "https://avatars3.githubusercontent.com/u/4280789?v=3&s=40",
    full_name: "wangshaolei (fearless)",
    link: "https://github.com/wangshaolei",
    name: "wangshaolei"}]

目前该工程已经部署到LeanCloud, 使用的免费的主机, 有使用限制, 可能会有问题, 仅供测试娱乐之用.

请求url: http://anly.leanapp.cn/

工程源码地址:GithubTrending



作者:anly_jun
链接:https://www.jianshu.com/p/31412e8355d7


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP