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

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

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

  • 日付
  • 金額
  • 注文番号
  • 表品名(複数)

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

javascript:(function(){var year="2018";function d(){e(0)}function h(a){var b="";a=jQuery.parseHTML(a);$(a).find("div.a-box-group").each(function(){var a=$(this).find("div.a-box-inner"),c=a.find("div.a-span3 span.value").text(),d=a.find("div.a-row.a-size-base").eq(1).find("span.a-color-secondary.value").text();a=a.find("div.a-size-mini span.value").text();b+=c.trim()+"\t"+d.trim().replace("\uffe5 ","")+"\t"+a.trim()+"\t";$(this).find("div.a-box-inner div.a-fixed-left-grid-inner").each(function(){var a=$(this).find("a.a-link-normal").eq(1).text();
b+=a.trim()+"\t"});b+="\n"});f+=b;return""==b?!1:!0}function e(a){console.log(year+" amazon history load page "+(a+1));jQuery.Deferred();k(a).done(function(b){h(b)?(a+=1,e(a)):console.log(f)})}function k(a){var b=jQuery.Deferred();jQuery.ajax({url:"https://www.amazon.co.jp/gp/css/order-history?digitalOrders=1&unifiedOrders=1&orderFilter=year-"+year+"&startIndex="+10*a,beforeSend:function(a){a.setRequestHeader("X-Requested-With",{toString:function(){return""}})}}).success(function(a){b.resolve(a)}).fail(function(a,
b){console.log("fail",b)});return b.promise()}var f="";if("function"!==typeof jQuery){var g=document,c=g.createElement("script");c.src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js";c.onload=d;g.body.appendChild(c)}else d()})();

圧縮(minify)前の JacaScript コード

(function(){
    var year = '2018';
    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 price = infoBox.find("div.a-row.a-size-base").eq(1).find("span.a-color-secondary.value").text();
            var orderNum = infoBox.find("div.a-size-mini span.value").text();
            result += date.trim()+"\t"+price.trim().replace('¥ ', '')+"\t"+orderNum.trim()+"\t";

            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();
                result += name.trim()+"\t";
            });
            result += "\n";
        });

        allItems += result;

        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 ブラウザ バージョン: 72.0.3626.109(Official Build) (64 ビット)