發(fā)布一個Github Trending的API, 并開源

trending

之前在寫CoderPub時, 個人比較喜歡的github trending功能, 官方并沒有開放API. 找了很久, 最后使用了這個. 這個接口完全不是RESTful的模式, 接口請求很麻煩且詭異, 具體大家可以參看這個工程的README.

這兩天稍微閑點, 就自己擼了一個, 有需要的朋友隨意取用.
選用了Python語言, Flask微框架, 使用BeautifulSoup解析網(wǎng)頁.

API Docs

1, Trending Repos

接口名: 獲取Trending的倉庫列表
API: /api/github/trending/<lang>?since=(daily,weekly,monthly)
方法: GET
請求參數(shù):

參數(shù) 說明 方式 類型 必選 備注
lang 語言分類 path形式 String 可選 類似github trending網(wǎng)頁的方式
since 時間區(qū)間 query形式 String 可選 daily,weekly,monthly

響應(yīng):
返回一個Repo的列表, 包含數(shù)據(jù)如下:

參數(shù) 說明 類型 說明
avatar 擁有者頭像 String url字符串
owner 擁有者 String /
repo repo名字 String /
desc repo描述 String /
stars 選中區(qū)間的stars數(shù) int /
link repo鏈接 String /

示例:
請求url: http://anly.leanapp.cn/api/github/trending/java?since=weekly
響應(yīng)結(jié)果:

[{
    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的開發(fā)者列表
API: /api/github/trending/<lang>?since=(daily,weekly,monthly)
方法: GET
請求參數(shù):

參數(shù) 說明 方式 類型 必選 備注
lang 語言分類 path形式 String 可選 類似github trending網(wǎng)頁的方式
since 時間區(qū)間 query形式 String 可選 daily,weekly,monthly

響應(yīng):
返回一個開發(fā)者的列表, 包含數(shù)據(jù)如下:

參數(shù) 說明 類型 說明
avatar 開發(fā)者頭像 String url字符串
name 擁有者名字 String /
full_name 擁有者全名 String originName(NickName)的形式
link 開發(fā)者主頁鏈接 String /

示例:
請求url: http://anly.leanapp.cn/api/github/trending/developers/java?since=weekly
響應(yīng)結(jié)果:

[{
    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"
}]

目前該工程已經(jīng)部署到LeanCloud, 使用的免費的主機, 有使用限制, 可能會有問題, 僅供測試娛樂之用.

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

工程源碼地址:GithubTrending

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,533評論 19 139
  • Swift版本點擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 26,004評論 7 249
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實...
    香橙柚子閱讀 24,725評論 8 183
  • 今天學(xué)習(xí)了科斯定律,舉個身邊的例子,比如說考試的時候,這個班的老師特別兇,監(jiān)考也特別的嚴格。有幾位學(xué)霸已經(jīng)完成了,...
    青山外客閱讀 386評論 0 0
  • 所謂的大人的世界,其實本和小孩子的世界沒什么差別,每個人都有各自所執(zhí)著的東西。國王執(zhí)著于自己的權(quán)威,愛慕虛榮的人執(zhí)...
    昵小倩閱讀 698評論 0 4

友情鏈接更多精彩內(nèi)容