GitHub上最受欢迎的Python回购

时间:2013-04-01 18:55:48

标签: json curl github github-api

基于v3 documentation我会想到这个:

$ curl https://api.github.com/legacy/repos/search/python?language=Python&sort=forks&order=desc

将按照分叉数的降序返回前100个Python存储库。它实际上返回一个空(json)存储库列表。

此:

$ curl https://api.github.com/legacy/repos/search/python?language=Python&sort=forks

返回一个存储库列表(在json中),但其中许多未列为Python存储库。

所以,显然我误解了Github API。检索特定语言的顶级 N 存储库的可接受方法是什么?

3 个答案:

答案 0 :(得分:3)

Repository Search API的目的是按关键字查找存储库,然后通过其他可选查询字符串参数进一步过滤这些结果。

由于您错过了?,因此您将整个预期的查询字符串作为:keyword传递。抱歉,我们目前不支持您通过GitHub API进行的搜索。

答案 1 :(得分:3)

正如彭文所说 - 目前仅通过GitHub的API无法轻易实现。但是,请看一下使用GitHub Archive项目查询的另一种方法:How to find the 100 largest GitHub repositories for a past date?

实质上,您可以使用类似SQL的语言查询GitHub的历史数据。因此,如果实时结果对您来说不重要,您可以在https://bigquery.cloud.google.com/?pli=1上执行以下查询,以获得2013年4月1日(昨天)前100个Python回购,下降数量为叉:

SELECT MAX(repository_forks) as forks, repository_url 
 FROM [githubarchive:github.timeline] 
 WHERE (created_at CONTAINS "2013-04-01" and repository_language = "Python") 
 GROUP BY repository_url 
 ORDER BY forks 
 DESC LIMIT 100

我已将查询结果以this Gist格式化为CSV格式,而前几个回购邮件是:

forks  repository_url
1913   https://github.com/django/django
1100   https://github.com/facebook/tornado
994    https://github.com/mitsuhiko/flask
...

答案 2 :(得分:0)