機能
- 浪費した金額の合計。
- 浪費した商品名目一覧
ここまで作ってやはり、
色々と細かい部分が面倒になってしまったので、
ここで一度終了かなと思う。
需要があればもう少し機能増やしたりするかも。
使い方
Amazon.co.jpの利用履歴い2012年の履歴を表示させ、firefoxのfirebugというツールの、js実行する場所に貼り付けると、firebugのコンソールに結果が出力されます。
↑上記の説明でこのコードの使い方わからない人は質問して下さい。たぶん答えます。
$ = jQuery; var actionBox = []; var totalPage = $('.num-pages strong').text().split(' ').pop(); var body = $('body') var box = $('<div id="box">あああ</div>'); box.css({ position : 'fixed', top : 0, right : 0, background : '#333' }); //body.append(box); /* 最初のページ */ // actionBox[0] = $('.action-box'); /* 最初以外のページ */ /* 0 -> 0 1 -> 7 2 -> 14 */ var counter = 0; for(var i = 0; i < totalPage; i++){ $.ajax({ type : 'GET', url : 'https://www.amazon.co.jp/gp/css/order-history/ref=oss_pagination?ie=UTF8&orderFilter=year-2012&search=&startIndex=' + i*7, success : function(data){ actionBox[this.foo] = $(data).find('.action-box'); if(counter++ == totalPage - 1) afterAllDataGet(actionBox); }, foo : i }); } // table var result = $('#result'); // データ取得 function afterAllDataGet(result){ var resultLength = result.length; var resultData = []; var counter = 0; var target = null; var sumMoney = 0; var resultHtml = ''; // price // $(result[0][0]).find('.price').text() for(var i = 0; i < resultLength; i++){ for(var j = 0; j < result[i].length; j++){ target = $(result[i][j]); /* resultData[counter] = { orderDate : target.find('.order-level h2').text(), productName : target.find('ul.shipment li span:eq(1)').text(), price : target.find('.price').text() } */ resultHtml += '<tr>'; resultHtml += '<td>' + String(target.find('.order-level h2').text()) + '</td>'; resultHtml += '<td>' + target.find('ul.shipment li span:eq(1)').text() + '</td>'; resultHtml += '<td>' + target.find('.price').text() + '</td>'; resultHtml += '</tr>'; // //console.debug(target.find('.price').text().replace('¥ ', '').replace(',', '')); sumMoney += Number(target.find('.price').text().replace('¥ ', '').replace(',', '')); counter++; } } // 商品一覧 // console.debug(resultHtml); // 合計金額 console.debug('¥' + sumMoney); }
自分の為に書いたコードの適当さに自分でびびってます。
しかし製品を作るのって大変ですね。
僕の力量が足りないのも大いにありますが。
あ、なんかインデントとスペースが混じってる。たぶんfirebugのコンソールでコード書いたりしたのが原因ですね。