昨天,我试图获取GitHub中所有公共存储库的列表,但我没有找到任何链接。
例如,在Sourceforge中,您可以按类别或Google代码列出所有项目,您可以搜索所有项目的所有项目。
是的,我尝试使用“*”或“%”或空字符串等关键字进行搜索,但您只看到此页https://github.com/search?q=&type=Everything&repo=&langOverride=&start_value=1
答案 0 :(得分:4)
您可以使用以下请求列出github中的所有存储库:
https://api.github.com/repositories?since=0
它将返回id> 0的第一个“n”存储库作为JSON数组。 你应该处理这个“n”,存储“id”。当你到达“页面”的末尾时,你只需再次使用since = lastId: 例如:
https://api.github.com/repositories?since=300
这是我发现列出所有存储库的唯一方式,因为SEARCH api每次搜索的限制为1000个。 如果您打算处理所有回购,您应该准备好应对速率限制:
https://developer.github.com/v3/rate_limit/
经过身份验证的用户获得更好的限制,您可以使用access_token(查看文档)。要小心,不要推求太多的要求。 如果您需要过滤回购,则需要为每个回购执行额外的查询(搜索API)。准备好处理超过一千万个存储库。 Java示例:(使用javax.json.Json)
Edit Shift
祝你好运,我没时间发现这一点。
答案 1 :(得分:2)
结帐this search。我不确定是否列出了所有公共回购,但我敢打赌这是一个好的开始。 (搜索可能需要几秒钟,所以请耐心等待)