GitHubリポジトリ一覧取得(Python版)
成果物
Batch版
開発環境
- Windows XP Pro SP3 32bit
- cmd.exe(ConEmu/Nyagos)
- Python 3.4.4
WebService
- GitHub
- アカウント
- ユーザ名
- パスワード
- AccessToken
- scopes:repo
- API v3
- アカウント
ソースコード
#!python3 #encoding:utf-8 import requests from furl import furl username = 'YourUsername' token = '0123456789012345678901234567890123456789' timezone = 'Asia/Tokyo' headers = {'Authorization': 'token ' + token, 'Time-Zone': timezone} url = 'https://api.github.com/user/repos' f = furl(url) f.args['type'] = 'owner' f.args['sort'] = 'created' f.args['direction'] = 'desc' f.args['per_page'] = '1000' res = requests.get(f.url, headers=headers) filename = "GitHub.{0}.Repositories.json".format(username) file = open(filename, 'w', encoding="UTF-8") file.write(res.text) file.close()
GitHub埋め込み表記。
Pythonで学習したこと
キーワード | 意味 |
---|---|
requests.get | HTTP/GET通信 |
requests.get(headers=var) | HTTPヘッダ設定 |
furl.args['key'] = value | URLパラメータ設定 |
furl.url | URL取得 |
open | Python3でのファイルオープン方法を確認した。 |
write | Python3でのファイル書込方法を確認した。 |
所感
以前、バッチファイルで作成したときのコードと見比べると、可読性の良さが際立つ。Batchと比べるとライブラリは豊富だし、pip
でネットからインストールできてすぐ使える。Python素敵。
取得したjsonをtsv, markdown化すれば一覧ページが作成できそう。 Pythonなら簡単にできたりしないかな。