Domanda

Nuovo per il forum Science Data, e primo manifesto qui!

Questo può essere una specie di domanda specifica (si spera non troppo), ma mi immagino gli altri potrebbero essere interessati a.

Sto cercando un modo per fondamentalmente interrogazione GitHub con qualcosa di simile:

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.

Il risultato potrebbe assumere qualsiasi forma valida:. Un dump di dati JSON, un URL della pagina web, ecc E più che probabile che sarà composto da informazioni provenienti da 10.000 pronti contro termine o di qualcosa di grande

E 'questo genere di cose possibili utilizzando l'API o di qualche altro modo pre-costruito, o sto andando ad avere per costruire la mia propria soluzione personalizzata dove cerco di raschiare ogni pagina? Se sì, come fattibile è questo e come potrei affrontarlo?

È stato utile?

Soluzione

La mia comprensione limitata, sulla base di navigazione breve GitHub API di documentazione, è che attualmente non v'è singola richiesta API che supporti tutti il tuo elencato criteri di in una sola volta . Tuttavia, penso che si potrebbe usare la seguente sequenza al fine di raggiungere l'obiettivo dal vostro esempio (almeno, vorrei utilizzare questo approccio):

1) Richiesta le informazioni su tutti i depositi pubblici (rendimenti API rappresentazioni sommarie solo): https://developer.github.com/v3/repos/#list-all-public-repositories ;

2) Loop l'elenco di tutti gli archivi pubblici recuperati nella fase 1, che richiede risorse individuali, e salvarla come nuova (dettagliata) lista (Restituisce rappresentazioni dettagliate , in altre parole, tutti gli attributi): https://developer.github.com/v3/repos / # get ;

3) Loop l'elenco dettagliato di tutti i repository, filtrando i campi corrispondenti dai vostri criteri. Per la vostra richiesta di esempio, si sarebbe interessato ai seguenti attributi del genitori oggetto: stargazers_count , forks_count . Al fine di filtrare i repository per numero di committer, è possibile utilizzare un API separata: https: //developer.github.com/v3/repos/#list-contributors .

Gli aggiornamenti o commenti delle persone più familiarità con GitHub API sono i benvenuti!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top