Tool

Amazon 購入履歴表示 ブックマークレット 2019

★注意★
2019年度から Kindle 等のデジタルコンテンツの金額取得ができなくなりました。
「注文詳細URL」を開いて詳細内容を確認してください。
取得金額は本体価格が表示されています。「配送料・手数料」は含まれていません。

ログイン状態で Amazon 購入履歴ページ をブラウザ表示して、開発者ツールで console 表示をしてください。
その状態で下記ブックマークレットを実行すると 2019 年度の Amazon 購入一覧が TSV で console に表示されます。

表示されたらコピー&ペーストで、Excel や スプレットシート にペーストしてください。
出力 TSV は下記カラムとなります。

  • 日付
  • 注文番号
  • 金額
  • 表品名
  • 注文詳細URL

Amazon 購入履歴表示 ブックマークレット 2019

(function(){var year='2019';var num=0;var allItems='';function init(){load(num)}function showItems(data){var result="";var dom=jQuery.parseHTML(data);$(dom).find("div.a-box-group").each(function(){var infoBox=$(this).find("div.a-box-inner");var date=infoBox.find("div.a-span3 span.value").text();var orderNum=infoBox.find("div.a-size-mini span.value").text();var itemBox=$(this).find("div.a-box-inner div.a-fixed-left-grid-inner");itemBox.each(function(){var name=$(this).find("a.a-link-normal").eq(1).text();var price=$(this).find("span.a-color-price").eq(0).text();result=date.trim()+"\t"+orderNum.trim()+"\t"+price.trim().replace('¥ ','')+"\t"+name.trim()+"\t";if(orderNum.trim()===''){result+='https://www.amazon.co.jp/gp/digital/your-account/order-summary.html?ie=UTF8&orderID='+orderNum.trim()}else{result+='https://www.amazon.co.jp/gp/your-account/order-details/ref=ppx_yo_dt_b_order_details_o01?ie=UTF8&orderID='+orderNum.trim()}allItems+=result+"\n"})});if(result=="")return false;return true}function load(num){console.log(year+" amazon history load page "+(num+1));var df=jQuery.Deferred();var page=get(num);page.done(function(data){if(showItems(data)){num=num+1;load(num)}else{console.log(allItems)}})}function get(num){var df=jQuery.Deferred();jQuery.ajax({url:'https://www.amazon.co.jp/gp/css/order-history?digitalOrders=1&unifiedOrders=1&orderFilter=year-'+year+'&startIndex='+(num*10),beforeSend:function(xhr){xhr.setRequestHeader('X-Requested-With',{toString:function(){return''}})},}).success(function(data){df.resolve(data)}).fail(function(jqXHR,msg){console.log("fail",msg)});return df.promise()}if(typeof jQuery!=='function'){var d=document;var s=d.createElement('script');s.src='//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js';s.onload=init;d.body.appendChild(s)}else{init()}})();

圧縮(minify)前の JacaScript コード

(function(){
    var year = '2019';
    var num = 0;
    var allItems = '';

    function init() {
        load(num);
    }

    function showItems(data)
    {
        var result = "";
        var dom = jQuery.parseHTML(data);
        $(dom).find("div.a-box-group").each(function() {
            var infoBox = $(this).find("div.a-box-inner");
            var date = infoBox.find("div.a-span3 span.value").text();
            var orderNum = infoBox.find("div.a-size-mini span.value").text();

            var itemBox = $(this).find("div.a-box-inner div.a-fixed-left-grid-inner");
            itemBox.each(function() {
                var name = $(this).find("a.a-link-normal").eq(1).text();
                var price = $(this).find("span.a-color-price").eq(0).text();
                // show console
                result = date.trim()+"\t"+orderNum.trim()+"\t"+price.trim().replace('¥ ', '')+"\t"+name.trim()+"\t";
                if (orderNum.trim() === '') {
                    result += 'https://www.amazon.co.jp/gp/digital/your-account/order-summary.html?ie=UTF8&orderID='+orderNum.trim();
                } else {
                    result += 'https://www.amazon.co.jp/gp/your-account/order-details/ref=ppx_yo_dt_b_order_details_o01?ie=UTF8&orderID='+orderNum.trim();
                }
                allItems += result+"\n";
            });
        });

        if (result == "") return false;
        return true;
    }

    function load(num) {
        console.log(year+" amazon history load page "+(num+1));
        var df = jQuery.Deferred();
        var page = get(num);
        page.done(function(data){
            if (showItems(data)) {
                num = num + 1;
                load(num);
            } else {
                console.log(allItems); // console出力
            }
        });
    }

    function get(num) {
        var df = jQuery.Deferred();
        jQuery.ajax({
            url: 'https://www.amazon.co.jp/gp/css/order-history?digitalOrders=1&unifiedOrders=1&orderFilter=year-'+year+'&startIndex='+(num*10),
            beforeSend: function (xhr){
                xhr.setRequestHeader('X-Requested-With', {toString: function(){ return ''; }});
            },
        }).success(function(data){
            df.resolve(data);
        }).fail(function(jqXHR, msg){
            console.log("fail", msg);
        });

        return df.promise();
    }

    // main
    if(typeof jQuery !== 'function') {
        var d = document;
        var s = d.createElement('script');
        s.src='//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js';
        s.onload=init;
        d.body.appendChild(s);
    } else {
        init();
    }
})();

参考サイト

Amazonで一年間に使った金額と、注文履歴のTSVを出力するブックマークレット【2015年版】
https://qiita.com/koyopro/items/d8b259f1eb75a01d3a0b

関連情報のリンク

ブックマークレットの登録方法
https://qiita.com/aqril_1132/items/b5f9040ccb8cbc705d04

Chrome デベロッパーツールの使い方まとめ
https://qiita.com/d-dai/items/0b580b26bb1d1622eb46

免責事項

当サイトが紹介している製品やプログラムの合法性、正確性、道徳性、最新性、適切性、著作権の許諾や有無などにつきましては、一切の保証をいたしかねます。
当サイトが紹介している製品やプログラムの品質についてはいかなる保証も行っておらず、情報の提供の中止、欠陥、およびそれらが原因で発生した損失や損害につきましては、一切責任を問わないものとします。
当サイトに記載された製品情報やプログラムは、予告なしに改良・変更することがあります。これらの改良・変更により生じたトラブルや損失や損害につきましては、一切責任を問わないものとします。

動作確認は下記ブラウザで行っています。

  • Windows版 Google Chrome ブラウザ バージョン: バージョン: 79.0.3945.130(Official Build)(64 ビット)