モバイルsuicaのページ
https://www.mobilesuica.com/
ここでモバイルsuicaの利用履歴を表示できる。 しかし、CSVファイルでダウンロードできない。
なので、CSVファイルとしてダウンロードできるようにするブックマークレットを作った。
javascript:(function(){ /* 13番目のテーブルをCSV化する */ var table = document.getElementsByTagName("table").item(12); var content = getCSVfromTable( table ); var fileName = "suica-rireki.csv"; downloadAsFile( fileName, content ); /** ファイルとしてダウンロードさせる */ function downloadAsFile( fileName, content ){ var blob = new Blob([content]); var url = window.URL || window.webkitURL; var blobURL = url.createObjectURL(blob); var a = document.createElement('a'); a.download = fileName; a.href = blobURL; a.click(); } /** テーブルからcsvテキストを作成する */ function getCSVfromTable( table ){ var content = ""; var ymax = table.rows.length; for( var y=0; y<table.rows.length; y++ ){ var vlist = []; var xmax = table.rows[y].cells.length; for( var x=0; x<xmax; x++ ){ var text = table.rows[y].cells[x].innerText; /* カンマ入りのデータだけ""でくくる */ if( text.match(/,/) ) text = '"'+text+'"'; vlist.push(text); } var vtext = vlist.join(); content += vtext + "\n"; } return content; } })();
Chromeでなら動いた。
javascript - JavaScriptからファイルをダウンロードさせるのはどうしたら良いですか? - スタック・オーバーフロー
JavaScriptでtableタグをスクレイピングして値を取り出す方法 - 大人になったら肺呼吸