Получение информации о хранилище GitHub по разным критериям

datascience.stackexchange https://datascience.stackexchange.com/questions/777

Вопрос

Новичок на форуме по науке о данных и первый плакат здесь!

Это может быть своего рода конкретный вопрос (надеюсь, не слишком много), но я представляю, что другие могут быть заинтересованы.

Я ищу способ в основном запросить GitHub с чем -то вроде этого:

Give me a collection of all of the public repositories that have more than 10 stars, at
least two forks, and more than three committers.

Результат может занять любую жизнеспособную форму: дамп данных JSON, URL -адрес на веб -странице и т. Д. Он, скорее всего, будет состоять из информации от 10 000 репо или чего -то большего.

Возможна ли такая вещь, используя API или какой-то другой предварительно построенный способ, или мне придется создать свое собственное решение, где я пытаюсь очистить каждую страницу? Если так, насколько это возможно и как я могу подходить к нему?

Это было полезно?

Решение

Мое ограниченное понимание, основываясь на кратком просмотре GitHub API документация, в том, что в настоящее время нет Одиночный запрос API это поддерживает все ваши перечисленные критерии однажды. Анкет Однако я думаю, что вы могли бы использовать следующую последовательность, чтобы достичь цели из вашего примера (по крайней мере, я бы использовал этот подход):

1) Запрос Информация обо всех общественных репозиториях (API возвращает Сводные представления Только): https://developer.github.com/v3/repos/#list-all-public-repositories;

2) Петля Через список всех публичных репозиторий, полученных на шаге 1, запрашивая отдельные ресурсы, и сохраните его в качестве нового (подробного) списка (это возвращает подробные представления, другими словами, все атрибуты): https://developer.github.com/v3/repos/#get;

3) Петля Через подробный список всех репозиториев, фильтрация соответствующих полей по вашим критериям. Для вашего примера запроса вас заинтересованы в следующих атрибутах родительский объект: stargazers_count, forks_count. Анкет Чтобы отфильтровать репозитории по количеству коммитников, вы можете использовать отдельный API: https://developer.github.com/v3/repos/#list-contributors.

Обновления или комментарии от людей, более знакомых с GitHub API, приветствуются!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top