有没有一种方法可以基于搜索结果从Github批量/批量下载所有仓库?

时间:2019-05-28 04:55:55

标签: github github-api

我在Guthub上进行了搜索,得到了881个回购。 Blazor和C#仓库。 https://github.com/search?l=C%23&q=blazor&type=Repositories

是否有一种方法可以轻松地下载所有这些存储库,而不是一个一个地下载?

1 个答案:

答案 0 :(得分:2)

是的,您的查询可以通过github搜索api运行:

这将为您提供100个存储库的一页。您可以遍历所有页面,提取ssh_url(如果需要,则提取http),然后将结果写入文件:

# cheating knowing we currently have 9 pages
for i in {1..9}
do
    curl "https://api.github.com/search/repositories?q=blazor+language:C%23&per_page=100&page=$i" \
     | jq -r '.items[].ssh_url' >> urls.txt
done

cat urls.txt | xargs -P8 -L1 git clone

您可以优化以从响应标题中提取页面数。

参考文献:

类似的问题: