weblioのマイ単語帳をTSVでエクスポートする

    @@ -23,7 +23,7 @@ var td = $('.tngMain' + id[i]); var line = []; td.each(function(){ - var cn = $(this).text().replace(/[\n\r]/g,"").replace(/<!--.*?-->/,"").replace(/[\s]/g,""); + var cn = $(this).text().replace(/[\n\r]/g,"").replace(/<!--.*?-->/,""); line.push(cn); }); tsv.push(line);
  • /*
     * @title weblioのマイ単語帳をTSVでエクスポートする
     * @description 例文と例文訳と出典を分けて出力します。Ankiへのインポート用に
     * @include http://uwl.weblio.jp/word-list*
     * @license MIT License
     */
    
    (function(){
     
        var id = [
            "TTG",  //単語
            "THT",  //発音記号
            "TIM",  //単語の意味
            "TSRH",    //例文
            "TSRFL",  //例文訳
            "TSRFR",  //出典
            "TLV",  //レベル
            "TDT"   //登録日
        ];
        var tsv = [];
    
        for(var i = 0; i < id.length; i++) {
            var td = $('.tngMain' + id[i]);
            var line = [];
            td.each(function(){
                var cn = $(this).text().replace(/[\n\r]/g,"").replace(/<!--.*?-->/,"");
                line.push(cn);
            });
            tsv.push(line);
        };
    
        if(tsv){
            $('#tsv').remove();
            tsv = transpose(tsv);
            downTsv(tsv);
        }
    
        function transpose(a) {
            return Object.keys(a[0]).map(function (c) {
                return a.map(function (r) {
                    return r[c];
                });
            });
        }
    
        function downTsv(tsv){
            var tsvbuf = tsv.map(function(e){
                return e.join('\t');
            }).join('\r\n');
            var bom = new Uint8Array([0xEF, 0xBB, 0xBF]);
            var blob = new Blob([bom, tsvbuf], { type: 'text/csv' });
            var url = (window.URL || window.webkitURL).createObjectURL(blob);
            var fileName = $('.headTbUlL').text() + '.tsv';
    
            $('<a>').attr('href', url).attr('download', fileName).text('エクスポート').attr('id', 'tsv').prependTo($('body'));
        }
    
    })();
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2016/08/02 01:14:35 - 2016-08-02
  2. 2016/08/02 01:13:42 - 2016-08-02
  3. 2016/08/02 01:12:27 - 2016-08-02
  4. 2016/08/02 01:08:21 - 2016-08-02
  5. 2016/08/02 01:07:00 - 2016-08-02
  6. 2016/08/02 01:04:55 - 2016-08-02
  7. 2016/08/02 00:59:47 - 2016-08-02