BOOK☆WALKER 「購入した書籍一覧」ページのCSV化 by fashi2
by
fashi
2016-04-23 [2016/04/23 21:59:06]
書影イメージがクソ重いので画像を非表示にしてからページを手繰ることをオススメする(実行する毎に次のページを読み込むので様子を見ながら)
//
// @title BOOK☆WALKER 購入した書籍一覧ページのCSV化
// @description
// @include https://member.bookwalker.jp/app/03/my/books
// @license MIT License
// @require
// @javascript_url
//
(function(){
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 です。