JogNoteのデータをStravaに移行するスクリプト
JogNoteに入力したエクササイズデータをStravaに移行するPythonスクリプトを書きました。
Stravaについてはこちらのエントリが参考になります。
Stravaには次のデータを登録します。
- タイトル
- 距離(JogNoteから取得)
- 時間(JogNoteから取得)
- 国
- 開始時間
- 場所
必要なライブラリ
次の外部ライブラリを使用しています。
- mechanize
- Beautiful Soup
- jognote/jognote.py at master · kyoshidajp/jognote · GitHub
- strava/strava.py at master · kyoshidajp/strava · GitHub
jognote.pyとstrava.pyはPyPIに登録されていません。また、パッケージ形式になっていないため、ダウンロード(またはチェックアウト)してPythonモジュールサーチパスに追加してください。それぞれjognote2strava.pyと同じディレクトリに配置するのが手軽です。
こちらも参考に。
設定
Stravaにインポートするデータの設定を行います。スクリプトの上の方に次のような箇所があります。
# post setting COUNTRY = 'Japan' START_TIME = '00:00:00' LOCATION = 'Yokohama' TITLE_PREFIX = '[jognote] '
上から国、開始時間、場所、タイトルの先頭に付ける文字列です。これらはJogNoteには無かった情報で、一括して指定出来るようになっています。
実行方法
コマンドラインから次の様にして実行します。
python jognote2strava.py -i hoge@example.com -p **** -s 2011/01 -e 2013/01 -m fuga@example.com -q ****
-i オプションにはJogNoteアカウントのemailアドレス、-p オプションにはJogNoteアカウントのパスワードを指定します。OpenIDには対応していないのでJogNote自体のアカウントになります。
-sオプションにはJogNoteからエクスポートする開始日、-eオプションにはJogNoteからエクスポートする終了日をYYYY/MMの形式で指定します。上記の例だと2011/01から2013/01の期間で登録されているデータが対象です。
-mオプションにはStravaアカウントのemailアドレス、-qオプションにはStravaアカウントのパスワードを指定します。こちらもOpenIDには対応していません。
その他
StravaにはStrava APIというAPIが公開されていて、アップロードするためのメソッドもあるのですが、データには位置情報(経度、緯度)が必要なため、結局Mechanizeを使ってポチポチと登録しています。