f8g

Greasemonkeyでデータ形式を変えて保存

  1. GreasemonkeyでHTMLから必要なデータ取り出す
  2. CSVとかにする
  3. btoa
  4. dataスキームでリンク

ってのは誰かやってそうだ。
JRAの競争成績をJSON形式にするGreasemonkey。右上にリンクが出ます。

// ==UserScript==
// @name          JRA DB JSON
// @namespace     http://d.hatena.ne.jp/arikui/
// @include       http://www.jra.go.jp/JRADB/accessS.html
// ==/UserScript==

(function(){
var strongs = document.body.getElementsByTagName("strong");
var raceTable;
for(var i = 0; i < strongs.length; i++)
	if(strongs[i].innerHTML == "\u7740\u9806"){
		raceTable = strongs[i].parentNode.parentNode.parentNode;
		break;
	}
var trs = raceTable.getElementsByTagName("tr");
var tds;
var data = [];
for(i = 1; i < trs.length; i++){
	data[i-1] = [];
	tds = trs[i].getElementsByTagName("td");
	for(var j = 0; j < tds.length; j++){
		if(j == 1) data[i-1].push( /waku(\d+)/.exec(tds[j].innerHTML)[1] );
		else       data[i-1].push( tds[j].innerHTML.replace(/<[^>]+>/g, "") );
	}
}
var json = btoa(data.toSource());

var a = document.createElement("a");
document.body.appendChild(a);
a.href = "data:application/json;base64,"+json;
a.target = "_blank";
a.innerHTML = "json";
with(a.style){
	position = "absolute";
	top      = "0px";
	right    = "0px";
}
})()