技術

TanitaのHealth Planetからデータの抜き出し

やりたいこと

タニタさんの体重計には、日々のデータをBluetoothでスマホに送信し、それをHealth Planetというっサービスに保存、参照することができる機能がある。これ自体は素晴らしいのだが、いくつか欠点がある。

  • アプリでは過去1年間分のデータしか参照できない
  • ウェブ)ではさらに昔までさかのぼれるが、グラフでは見れず、各日のデータとして見るしかない
  • それをエクスポートできない※1

※1については、提携しているサービスには渡すことができるが、正直聞いたことない国産のサービスばかりで、あまりやろうと思わない…。またAPIが用意されているが、なんと体重と体脂肪率しかエクスポートできない。筋肉量、基礎代謝、体内年齢など有益な情報があるにも関わらず。正直ここを絞る意味がまったく分からない。

エクスポートできないと、万一サービス終了すると永久に失われるし、そもそも長期間の変遷をグラフで見れないのはもったいないので、データを回収したい。
ただ1ページずつメモっていくなんてありえないので、スクレイピングすることにする。

スクレイピングやってもいいのか

一応Health Planetの利用規約やrobots.txtを確認している。もちろんOKとは書いていないが、NGとも書いてない認識なので、グレーゾーンと思っている。

robots.txt

利用規約

対応

最終結果

https://github.com/KI1208/healthplanet-datacollect

手動で書き換える部分が残っていてあまりいいコードではないが、こちら。