3

プロジェクトの GitHub の問題の統計を経時的に収集しています: 問題の総数、特定のラベルが付いた問題の数、特定の状態 (オープン/クローズ) の問題の数。現在、必要な情報に必要なラベル付け/状態でプロジェクト Web ページを解析するための Python スクリプトがあります。たとえば、

http://github.com/ <projectname>/issues?label=<label_of_interest>&state=<state_of_interest>
ただし、GitHub API が変更された場合、多くの場合、コードが失敗するため、HTML の解析は脆弱です。

基になる HTML に依存せずにこれらの統計を収集するために、GitHub API を使用する方法 (または、それを禁止し、できれば Python で他の方法を知っている) を誰かが説明していますか?

4

3 に答える 3

0

これはあなたの仕様 (「できれば Python」の部分) を完全には満たしていませんが、Octokitは GitHub API とやり取りする素晴らしい (そして公式 - GitHub によって開発された) 方法です。問題データを取得したいと書いています。インストール、ライブラリの要求、データの取得と同じくらい簡単です (プロジェクトが公開されている場合は認証は必要ありません)。

インストール:

gem install octokit

これを Ruby ファイルに追加して、Octokit ライブラリを要求します。

require 'octokit'

から取得できるものはたくさんありますがOctokit::Client::Issues、リポジトリ内のすべての問題のページ分割されたリストを取得したい場合があります。

Octokit.list_issues('octokit/octokit.rb')
  # => [Array<Sawyer::Resource>] A list of issues for a repository.

Python の使用に非常に興味がある場合は、GitHub API ドキュメントの Issues を参照してください。本当に、次のような URL を取得するのと同じくらい簡単です: https://api.github.com/repos/octokit/octokit.rb/issuesと JSON データを取得します (私は Python に精通していませんが、これらは確かです)一部の JSON 解析ライブラリ); 公開リポジトリの認証は不要です。

于 2013-09-09T17:29:44.637 に答える