BOOK☆WALKER 「購入した書籍一覧」ページのCSV化 by fashi2

  • //
    // @title BOOK☆WALKER 「購入した書籍一覧」ページのCSV化 by fashi2
    // @description 書影イメージがクソ重いので画像を非表示にしてからページを手繰ることをオススメする(実行する毎に次のページを読み込むので様子を見ながら)
    // @include https://member.bookwalker.jp/app/03/my/books
    // @license MIT License
    // @require 
    // @javascript_url
    //
    
    (function(){
    $(nextPage);
    
    var items = [];
    $('div#D-MyBookContainer div.D-BookInfo').each(function() {
    	var books = {};
    	$(this).find('div.D-BookCover').hide();
    	books.name = $(this).find('div.D-BookName').text();
    	books.category = $(this).find('div.D-BookGategoty').text();
    	books.author = $(this).find('div.D-Author').text();
    	books.publisher = $(this).find('div.D-Publisher').text();
    	books.purchaseday = $(this).find('div.D-Purchaseday').text().replace('購入日: ','');
    	books.purchasestore = $(this).find('div.D-PurchaseStore').text().replace('購入ストア: ','');
    	items.push(books);
    });
    
    var keys = ['name', 'category', 'author', 'publisher', 'purchaseday'];
    var csv = keys.join(',')+'\n';
    for (var i = 0; i < items.length; i++) {
    	for (var j = 0; j < keys.length; j++) {
    		var value = items[i][keys[j]];
    		if (value.search(/[\"\r\n,]/) >= 0) {
    			value = '"' + value.replace('"', '""') + '"';
    		}
    		csv += value + ((j < keys.length - 1) ? ',' : '\n');
    	}
    }
    $('#myBox').remove();
    $('#D-MyBookContainerMsg').prepend('<div id="myBox"></div>');
    $('#myBox').empty().append('<textarea readonly="readonly" style="width: 100%; height: 10em;">' + csv + '</textarea>');
    })();
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2016/04/23 21:59:06 - 2016-04-23
  2. 2016/04/23 21:58:02 - 2016-04-23
  3. 2016/04/23 21:54:46 - 2016-04-23
  4. 2016/04/23 21:43:27 - 2016-04-23
  5. 2016/04/23 21:33:23 - 2016-04-23