之前在寫CoderPub時, 個人比較喜歡的github trending功能, 官方並沒有開放API. 找了很久, 最後使用了這個. 這個介面完全不是RESTful的模式, 介面請求很麻煩且詭異, 具體大家可以參看這個工程的README.
這兩天稍微閒點, 就自己擼了一個, 有需要的朋友隨意取用.
選用了Python語言, Flask微框架, 使用BeautifulSoup解析網頁.
API Docs
1, Trending Repos
介面名: 獲取Trending的倉庫列表
API: /api/github/trending/
方法: GET
請求引數:
引數 | 說明 | 方式 | 型別 | 必選 | 備註 |
---|---|---|---|---|---|
lang | 語言分類 | path形式 | String | 可選 | 類似github trending網頁的方式 |
since | 時間區間 | query形式 | String | 可選 | daily,weekly,monthly |
響應:
返回一個Repo的列表, 包含資料如下:
引數 | 說明 | 型別 | 說明 |
---|---|---|---|
avatar | 擁有者頭像 | String | url字串 |
owner | 擁有者 | String | / |
repo | repo名字 | String | / |
desc | repo描述 | String | / |
stars | 選中區間的stars數 | int | / |
link | repo連結 | String | / |
示例:
請求url: anly.leanapp.cn/api/github/…
響應結果:
[{
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/
方法: GET
請求引數:
引數 | 說明 | 方式 | 型別 | 必選 | 備註 |
---|---|---|---|---|---|
lang | 語言分類 | path形式 | String | 可選 | 類似github trending網頁的方式 |
since | 時間區間 | query形式 | String | 可選 | daily,weekly,monthly |
響應:
返回一個開發者的列表, 包含資料如下:
引數 | 說明 | 型別 | 說明 |
---|---|---|---|
avatar | 開發者頭像 | String | url字串 |
name | 擁有者名字 | String | / |
full_name | 擁有者全名 | String | originName(NickName)的形式 |
link | 開發者主頁連結 | String | / |
示例:
請求url: anly.leanapp.cn/api/github/…
響應結果:
[{
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: anly.leanapp.cn/
工程原始碼地址:GithubTrending