やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

GitHubのcontributionsログを取得した

GitHubでの活動を俯瞰したいので。

成果物

GitHubGitHub.Site.Contributions.Scraping.201705130706

開発環境

contributions

GitHubにはコミットを1日単位でグラフにしてくれる。「草」と呼ばれている。コミットすると緑になることから「草を生やす」などと言われている。

問題

最新1年間のみ。永久に記録したい。

解決方法を調べてみた

参考 結論
GitHubのcontributionsをターミナルに表示してみた - Qiita GitHubAPIhttps://github.com/users/<username>/contributions_calendar_dataが古くて使えず404エラーを返す。
https://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data APIを調べるもリポジトリ単位でしかできない。ユーザ単位で取得したい。
x-rayを使ってgithubの草の情報を取得する - Qiita できそう。GitHubの個人ページからWebスクレイピングで取得する
  • 1年間が過ぎる前にデータをダウンロードすること
  • ローカルに記録すること(1年以上前のデータはサーバから消える?)

contributionsのソースコード

GitHubの個人ページにアクセスし、HTMLソースコード内からSVG要素を抜き出す。

https://github.com/ytyaru

以下、2017/05/13 時点でのcontributionsを抜き出して貼り付けた。

May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr Mon Wed Fri

理想

  • その日付をクリックすると対象のactivityが表示される
    • 「いつ、何をしたのか、どのリポジトリに対し」が判明する
      • 作業実績の俯瞰と詳細とその証拠(ファイル)へ誘導して証明にしたい
  • 最近1年間だけでなく累計を記録したい
  • 1アカウントだけでなく自分が持っている全アカウントを対象にしたい
  • ローカルHTMLで表示したい
  • 任意のサーバでHTML表示したい

所感

とりあえず取得スクリプトは書けた。いずれこれをGitHubアップローダに組み込みたい。