前回はガーミンコネクトからラップデータcsvファイルをダウンロードしてみました。
さて、このダウンロードを一括してやろう。
やり方知らないので、ネットの力を借ります。
こちらの環境は、macOS Monterey(12.0.1)、GoogleChrome(97)、ターミナル(Bash)で実行しています。他の環境は試してませんが、そんなに違いは無いでしょう。知らんけどw
自動でダウンロードするスクリプトを探す
以前、ガーミンがランサムウェアにやられた時に、fitファイル*1を手元にダウンロードしている人が結構いらっしゃるようです。
これで一括ダウンロードできるようです。ウィンドウがチラッと開きます。ていうか、windows.openでいいんですね。
(勝手にリンクしていますが、良くなければご指摘いただければ外します)
試しにfitファイルを落としてきて、ラップデータが見れるかと思って開いてみたら、バイナリだし、csv変換もできるけど、莫大な量でこんなの解析してらんないので、そっ閉じw
メニューで「オリジナルをエクスポート」*2の下に「ラップをcsvにエクスポート」があるんだからやる方法はあるに違いない。
いろいろと調べて、ようやく発見。
上記リンク先の
'/modern/proxy/download-service/files/activity/'
を'/modern/proxy/download-service/export/csv/activity/'に書き換えればうまくいくようだ。ちなみに、途中のcsvをtcxにすればtcxファイル*3、gpxにすればgpxファイル*4、kmlにすればkmlファイル*5がそれぞれ落ちてくるようです。
というわけで、書き換えたコードがこちら。ビビりなので、ついでに待機時間を10秒にしています。
ちなみにビビる理由は、こちら。もう10年前の話なのでビビらなくても良いと思うんですけど。
スクリプトを走らせてみる
1 対象アクティビティを表示
まずは、GoogleChromeを開きます。
PC版ガーミンコネクトのページを開き、アクティビティ一覧を表示させます。
右側のメニューからランのアイコンをクリックすると「上級者」ボタンが表示されますので、ここをクリックして、ダウンロード対象としたいアクティビティを選びます。
選んで表示されたら画面を下にスクロールしていって、対象となるアクティビティを全部表示させます。(表示されていないアクティビティはダウンロードされません。)
2 スクリプトを走らせます
chromeの設定メニュー(右上の縦3つの点)から[その他のツール]-[デベロッパーツール]を選択します。
下か右に画面が開くので、コンソールのタブを選択して、コンソールの一番下に上に書いたコードをコピペ。
そして、Enterキー押下で動き始めます。ダウンロード用のフォルダ指定がされていれば、設定されたダウンロードフォルダにcsvファイルが自動的にどんどん保存されていきます。10秒に1回ウィンドウが開くので、軽くジョグでも行ってくると終わっていると思います。念のため、スクリーンセーバーとかスリープとかは解除して、chromeを最前面に出しておきます。
途中で失敗することもあると思います*6ので、1年分とかで分けてダウンロードした方がいいかも。
サーバに負荷がかかるので、もし失敗したら、時間を空けて再トライしてみてください。
落ちてきたファイルには、各アクティビティのラップごとの情報が保管されています。
格納されている情報はこんな内容。これがラップごとと合計とで格納されています。
分割,時間,移動時間,距離,高度上昇,高度下降,平均ペース,平均移動ペース,最高ペース,平均ピッチ,最高ピッチ,平均歩幅,平均心拍,最大心拍,平均気温,カロリー
「分割」はラップ番号で、アクティビティ合計はSummaryという名前で格納されています。それ以外の各項目は、ガーミンコネクトの画面に表示されるものと同じです。
見てみると、日付と時刻はありません。これがないと分析するのに支障が出ます(ソートした時点でいつのことか全然わからなくなる)。どうにかしてくっつけないと使いにくいです。
ファイル名のactivity_の後にくっついている数字(アクティビティIDと言うようです)は使えないだろうか。アクティビティIDは、日付順に数字が大きくなっていて、ダブりは無いみたい。
もう少し続きます。