栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

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

API Docs1, Trending Repos

接口名: 获取Trending的仓库列表
API: /api/github/trending/?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/?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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/223889.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号