parseTable.jsとかいう神ライブラリ
parseTable.js - convert HTML table to array of objects · GitHub
最近テーブルをパースするのがだるくてなんかいい方法ないかなと探し回っていたところぴったりのライブラリを見つけた
console.log(JSON.stringify(parseTable(document.querySelector("table")).reverse(),null," "));
で出力すれば1行でテーブルをJSONに変換できる
あとはファイルに書き込んでjavaでゴニョゴニョすると
factoryメソッドを少し書き換えればいい感じになる
function factory(headings) { return function(row) { return arrayify(row.cells).reduce(function(prev, curr, i) { // 変更部分 セルの中のhrefからURLを取得できるように変更 if( curr.childElementCount != 0 ){ prev[headings[i]] = [ { "name" : curr.getElementsByTagName("a")[0].innerText , "link" : curr.getElementsByTagName("a")[0].href } ]; }else{ // 変更前 prev[headings[i]] = curr.innerText; } return prev; }, {}); } }