5

根据v3 文档,我会认为:

$ 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​​个存储库的公认方法是什么?

4

3 回答 3

3

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

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

于 2013-04-02T01:09:15.510 回答
3

正如 pengwynn 所说——目前仅通过 GitHub 的 API 并不容易做到这一点。但是,看看使用 GitHub Archive 项目的另一种查询方式:如何查找过去日期的 100 个最大的 GitHub 存储库?

本质上,您可以使用类似 SQL 的语言查询 GitHub 的历史数据。因此,如果实时结果对您来说并不重要,您可以在https://bigquery.cloud.google.com/?pli=1上执行以下查询,以获取截至 4 月的前 100 个 Python 存储库2013 年 1 月(昨天),按分叉数递减:

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

我已将查询结果以 CSV 格式放在此 Gist中,前几个存储库是:

forks  repository_url
1913   https://github.com/django/django
1100   https://github.com/facebook/tornado
994    https://github.com/mitsuhiko/flask
...
于 2013-04-02T07:22:06.653 回答
0

试试这个: https ://api.github.com/search/repositories?q=language:Python&sort=forks&order=desc

它正在搜索存储库。

于 2014-04-11T23:59:28.653 回答