普段、自分の金融資産の時価総額をチェックしているのですが、最近老眼がきつくなってきて目で見て書き写すのはしんどくなってきました。
Web APIみたいなのが提供されておればよいのですが、なかなかそんなサービスは少ないのでcurlとかでスクレイピングしたいところなのですが、ログインまでのプロセスがややこしい上に定期的なパスワード変更を強制されたり、2FAを突破したりしないといけないこともあり、なかなか難しい。それにセキュリティ的にもスクレイピングするスクリプトを置いておくのもちょっと危険な感じもします。
そこで今開いているページのある部分を取り出してファイルに保存できたら、あとでそのファイルをスクリプトで処理してグラフを書いたりと色々と応用が効くかと思いました。
ということで以下のようなブックマークレットを作成しました。
javascript:((d,nm,id)=>{
var a = d.createElement('A');
a.download=nm+'-'+(new Date()).toISOString()+'.txt';
var x=d.getElementById(id).innerHTML;
a.href='data:text/plain,'+x.replace(/,/g,'');
d.body.appendChild(a);
a.click();
d.body.removeChild(a);
})(document, '401k', 'D_Header1_lblKigyoBalanceAssets');
これはとある確定拠出年金サービスの時価を抜き出してファイルに保存するものです。
数値を見やすくするカンマは扱いにくいので取り除いています。
ファイル名は現在時刻を含むようにしていますので、日時が分かるだけでなく、毎回名前が変わりますので扱いやすいかと思います。
引数を適当に変えてやればファイル名のprefixと抜き出すべきタグのIDが変えられますので、他のサービスでもほとんどそのまま使えるのではないかと思います。