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