Frage

Neu im Data Science Forum und erstes Poster hier!

Dies mag eine bestimmte Frage sein (hoffentlich nicht zu sehr), aber eine, an der ich mir vorstellen würde, dass andere interessiert sein könnten.

Ich suche nach einer Möglichkeit, Github im Grunde genommen mit so etwas abzufragen:

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.

Das Ergebnis könnte jedes praktikable Formular annehmen: einen JSON -Daten -Dump, eine URL zur Webseite usw. Es besteht mehr als wahrscheinlich aus Informationen von 10.000 Repos oder etwas Großem.

Ist so etwas möglich, die API oder eine andere vorgefertigte Art und Weise benutzt, oder muss ich meine eigene benutzerdefinierte Lösung aufbauen, bei der ich versuche, jede Seite zu kratzen? Wenn ja, wie machbar ist das und wie könnte ich mich dafür nähern?

War es hilfreich?

Lösung

Mein begrenztes Verständnis, basierend auf dem kurzen Surfen Github API Dokumentation ist, dass es derzeit keine gibt Single API -Anfrage Das unterstützt alle Ihre aufgelisteten Kriterien auf einmal. Ich denke jedoch, dass Sie die folgende Sequenz verwenden können, um das Ziel aus Ihrem Beispiel zu erreichen (zumindest würde ich diesen Ansatz verwenden):

1) Anfrage Informationen zu allen öffentlichen Repositories (API kehrt zurück Zusammenfassende Darstellungen nur): https://developer.github.com/v3/repos/#list-all-public-repoitories;

2) Schleife Über die Liste aller öffentlichen Repositories, die in Schritt 1 abgerufen werden, fordern Sie einzelne Ressourcen an und speichern Sie sie als neue (detaillierte) Liste (dies kehrt zurück detaillierte Darstellungen, Mit anderen Worten, alle Attribute): https://developer.github.com/v3/repos/#get;

3) Schleife Durch die detaillierte Liste aller Repositorys, die entsprechende Felder nach Ihren Kriterien filtern. Für Ihre Beispielanfrage würden Sie sich für die folgenden Attribute der Attribute interessieren Elternteil Objekt: STARGAZERS_COUNT, gggs_count. Um die Repositories nach Anzahl der Ausschüsse zu filtern, können Sie eine separate API verwenden: https://developer.github.com/v3/repos/#list-contributors.

Updates oder Kommentare von Personen, die mit Github API vertraut sind, sind willkommen!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top