これを使って自分が何にいくらお金を払っているのか確認できます。
なんでお金が貯まらないのかわからない人は使ってみる価値大かと思います。
機能
ここまで作ってやはり、
色々と細かい部分が面倒になってしまったので、
ここで一度終了かなと思う。
需要があればもう少し機能増やしたりするかも。
使い方
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のコンソールでコード書いたりしたのが原因ですね。