Amazon.co.jpで今年の注文合計金額を調べる方法。

これを使って自分が何にいくらお金を払っているのか確認できます。 なんでお金が貯まらないのかわからない人は使ってみる価値大かと思います。

機能

  • 浪費した金額の合計。
  • 浪費した商品名目一覧

ここまで作ってやはり、
色々と細かい部分が面倒になってしまったので、
ここで一度終了かなと思う。
需要があればもう少し機能増やしたりするかも。

使い方

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のコンソールでコード書いたりしたのが原因ですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA