是否有任何链接显示GitHub中的所有公共存储库?

是否有任何链接显示GitHub中的所有公共存储库?,github,search-engine,repository,Github,Search Engine,Repository,昨天,我试图获取GitHub中所有公共存储库的列表,但没有找到任何链接 例如,在Sourceforge中,您可以按类别列出所有项目,或者在Google代码中,您可以搜索所有项目 是的,我尝试用“*”或“%”之类的关键字或空字符串搜索,但您只能看到此页面。我不确定这是否列出了所有公开回购,但我打赌这是一个好的开始。(搜索可能需要几秒钟,请耐心等待)您可以使用以下请求列出github中的所有存储库: 它将以JSON数组的形式返回id>0的第一个“n”存储库。 您应该处理这个“n”,存储“id”。当

昨天,我试图获取GitHub中所有公共存储库的列表,但没有找到任何链接

例如,在Sourceforge中,您可以按类别列出所有项目,或者在Google代码中,您可以搜索所有项目


是的,我尝试用“*”或“%”之类的关键字或空字符串搜索,但您只能看到此页面。我不确定这是否列出了所有公开回购,但我打赌这是一个好的开始。(搜索可能需要几秒钟,请耐心等待)

您可以使用以下请求列出github中的所有存储库:

它将以JSON数组的形式返回id>0的第一个“n”存储库。 您应该处理这个“n”,存储“id”。当您到达“页面”的末尾时,您只需再次使用since=lastId: 例如:

这是我发现的列出所有存储库的唯一方法,因为搜索api限制每次搜索1000个repo。 如果您打算处理所有回购,您应准备好应付利率限制:

经过身份验证的用户可以获得更好的限制,您可以使用访问令牌(请参阅文档)。小心,不要推太多的请求。 如果需要筛选回购协议,则需要对每个回购协议执行额外的查询(以搜索API)。准备好处理1000多万个存储库。 Java示例:(使用javax.json.json)


祝你好运,我浪费了一些时间才发现这一点。

我认为我找到了获取列表的方法,因为我在维基百科文章中找到了这个肮脏的链接。但是它没有运行:(.你看过遗留API吗?哇!超过300万个roposits;github似乎也有一些垃圾邮件问题;)
int id=0;
do {
    URL url = new URL("https://api.github.com/repositories?since="+id+"&access_token="+oauth);
    // implement callApi such as Json.createReader(url.openStream()), but please make it sleep for a minute if the limit got reached        
    try (JsonReader rdr = callApi(url)) {
        JsonArray results = rdr.readArray();
        for (JsonObject result : results.getValuesAs(JsonObject.class)) {
            id = result.getInt("id");
            String name = result.getString("name");
            boolean priv = result.getBoolean("private");
            ... do whatever you want...
        }
    }
} while (some stop condition);