Question

Nouveau sur le forum Data Science et première affiche ici!

Ce peut être une sorte d'une question spécifique (espérons-le pas trop si), mais j'imagine que d'autres pourraient intéresser.

Je suis à la recherche d'un moyen de requête essentiellement GitHub avec quelque chose comme ceci:

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.

Le résultat pourrait prendre toute forme viable:. Une décharge de données JSON, une URL de la page Web, etc. plus sera probablement constitué d'informations de 10.000 prises en pension ou quelque chose de grand

Est-ce genre de chose possible en utilisant l'API ou d'une autre manière de pré-construit, ou je vais devoir construire ma propre solution personnalisée où j'essaie de gratter chaque page? Si oui, comment est-ce possible et comment pourrais-je aborder?

Était-ce utile?

La solution

Ma compréhension limitée, en fonction de brève navigation API GitHub documentation, est qu'actuellement il n'y a pas Demande API unique supports tous votre énumérés critères à la fois . Cependant, je pense que vous pouvez utiliser la séquence suivante afin d'atteindre l'objectif de votre exemple (au moins, j'utiliser cette approche):

1) Demande des informations sur tous les dépôts publics (API retourne représentations sommaires uniquement): https://developer.github.com/v3/repos/#list-all-public-repositories ;

2) Boucle dans la liste de tous les dépôts publics récupérés à l'étape 1, demandant des ressources individuelles, et l'enregistrer comme nouvelle liste (détaillée) (ceci retourne représentations détaillées , autrement dit, tous les attributs): https://developer.github.com/v3/repos / # get ;

3) Boucle dans la liste détaillée de tous les dépôts, le filtrage des champs correspondants par vos critères. Pour votre demande d'exemple, vous seriez intéressé par les attributs suivants du parent objet : stargazers_count , forks_count . Pour filtrer les dépôts par nombre de committers, vous pouvez utiliser une API séparée: https: //developer.github.com/v3/repos/#list-contributors .

Mises à jour ou les commentaires des gens plus familiers avec l'API GitHub sont les bienvenus!

Licencié sous: CC-BY-SA avec attribution
scroll top