Есть ли способ массового / пакетного скачивания всех репозиториев с Github на основе результатов поиска? - PullRequest
0 голосов
/ 28 мая 2019

Я запускаю этот поиск на Guthub и получаю 881 репо. Blazor & C #. https://github.com/search?l=C%23&q=blazor&type=Repositories

Есть ли способ легко загрузить все эти репозитории вместо одного за другим?

1 Ответ

2 голосов
/ 28 мая 2019

Да, ваш запрос может быть запущен через API поиска github:

Это дает вам одну страницу из 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

Вы можете оптимизировать, чтобы извлечь количество страниц из заголовков ответа.

Ссылки:

Аналогичный вопрос:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...