質問

データサイエンスフォーラムの新機能、そしてここの最初のポスター!

これは一種の特定の質問かもしれません(うまくいけばそうではないことを願っています)が、他の人が興味を持っていると思います。

私は基本的にこのようなもので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データダンプ、Webページへの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