PyGithubを使用しPythonでGitHubの情報を取得する

PyGithubを使用しPythonでGitHubの情報を取得してみます。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■GitHubでアクセストークンを作成する

PythonでGitHubの情報を取得してみますが、その前にGitHubでアクセストークンを作成します。

作成するために、Sign in to GitHub(https://github.com/login)にアクセスし、お持ちのGitHubアカウントの情報(ユーザー名もしくはメールアドレス、パスワード)を入力し、「Sign in」ボタンをクリックし、ログインします。

ログインすると、右上のアイコンのようなものが表示されている箇所をクリックします。クリックするとプルダウンメニューが表示されます。メニューの中から「Settings」をクリックします。

クリックすると、「Your Profile」(https://github.com/settings/profile)ページに移動します。左側メニューから「Developer settings」をクリックします。

クリックすると、「GitHub Apps」(https://github.com/settings/apps)のページへ移動します。左側メニューから「Personal access tokens」をクリックします。

クリックすると、「Personal Access Tokens」(https://github.com/settings/tokens)のページへ移動します。ページ内の「Generate new token」ボタンをクリックします。

クリックすると「New personal access token」(https://github.com/settings/tokens/new)のページに移動します。ページ内に「Note」という項目がありますので、作成するアクセストークの名前を入力します。

入力後、ページの下に移動すると、「Select scopes」という項目があります。「Scopes define the access for personal tokens.(スコープは、個人トークンへのアクセスを定義します。)」と書かれていますので、PythonでGithubにアクセスした時に、引き出す情報を項目内から選択します。今回はリポジトリの情報を引き出してみますので、「repo」のチェックボックスにチェックを入れます。

チェックボックスにチェックを入れた後、ページ内の一番下にある「Generate token」ボタンをクリックします。

クリックすると、「Make sure to copy your new personal access token now. You won’t be able to see it again!(今すぐ新しいパーソナルアクセストークンをコピーしてください。二度と見ることはできません!)」と表示され、その下にアクセストークンが生成されます。このアクセストークンを右側のクリップボードのマークをクリックし、アクセストークンをコピーします。

コピーしたアクセストークンは、コードエディターなどで保存します。保存後、Githubのページを閉じます。

■PyGithubをインストールする

PyGithubをインストールを行いますが、今回はpipを経由してインストールを行うので、まずWindowsのコマンドプロンプトを起動します。

pip install PyGithub

起動後、上記のコマンドを入力し、Enterキーを押します。

なお、今回は、pythonランチャーを使用しており、Python Version 3.8.5にインストールを行うために、pipを使う場合にはコマンドでの切り替えを行います。

py -3.8 -m pip install PyGithub

切り替えるために、上記のコマンドを入力し、Enterキーを押します。

Collecting PyGithub
Downloading PyGithub-1.54.1-py3-none-any.whl (289 kB)
|████████████████████████████████| 289 kB 1.3 MB/s
Collecting pyjwt<2.0
Downloading PyJWT-1.7.1-py2.py3-none-any.whl (18 kB)
Collecting deprecated
Downloading Deprecated-1.2.10-py2.py3-none-any.whl (8.7 kB)
Requirement already satisfied: requests>=2.14.0 in c:\pg\python38\lib\site-packages (from PyGithub) (2.25.0)
Collecting wrapt<2,>=1.10
Downloading wrapt-1.12.1.tar.gz (27 kB)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\pg\python38\lib\site-packages (from requests>=2.14.0->PyGithub) (1.26.2)
Requirement already satisfied: certifi>=2017.4.17 in c:\pg\python38\lib\site-packages (from requests>=2.14.0->PyGithub) (2020.11.8)
Requirement already satisfied: chardet<4,>=3.0.2 in c:\pg\python38\lib\site-packages (from requests>=2.14.0->PyGithub) (3.0.4)
Requirement already satisfied: idna<3,>=2.5 in c:\pg\python38\lib\site-packages (from requests>=2.14.0->PyGithub) (2.10)
Using legacy ‘setup.py install’ for wrapt, since package ‘wheel’ is not installed.
Installing collected packages: pyjwt, wrapt, deprecated, PyGithub
Running setup.py install for wrapt … done
Successfully installed PyGithub-1.54.1 deprecated-1.2.10 pyjwt-1.7.1 wrapt-1.12.1

Enterキーを押すと、インストールが開始され、「Successfully installed」と表示されます。これが表示されれば、正常にインストールは完了となります。

■PyGithubを使用しGitHubの情報を取得する

インストールが完了しましたので、PyGithubを使用しGitHubの情報を取得するスクリプトを書いていきます。

■コード

from github import Github

g = Github("生成されたアクセストークン")

for repo in g.get_user().get_repos():
    print(repo.name)

インポートでgithubモジュールを呼び出して、gという変数を作成し、その中にGithub()と記述し、括弧内に生成されたアクセストークンを入力し、格納します。

格納した後は、for文によるループ処理(繰り返し処理)で、アクセストークンからget_user()でGithubアカウント内のget_repos()、リポジトリの情報(repo.nameでリポジトリ名)を取得しprint関数で出力します。

■実行

このスクリプトを「github_access.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行すると、Githubアカウント内で作成されたリポジトリ(リポジトリ名)が一覧で出力されることを確認できました。

コメント

タイトルとURLをコピーしました