Rabbit Note

技術的な事柄をメモしていきます.

Amazon の買い物履歴情報のビジュアル化 【2015年 Excel 版】

Amazon の買い物履歴情報を分かり易く出力するスクリプト,Amazhist を紹介します.

機能

このスクリプトの特徴は次の 3 点です.

  • Excel ファイル形式での出力なので,分析が思いのまま
  • 購入日や価格だけでなく,カテゴリや売り手等もリストアップ
  • 履歴一覧に画像が付属

出力のスクリーンショットを以下に示します.実際に出力される Excel ファイルのサンプルはこちらにあります.

履歴一覧

カテゴリ別グラフ

ダウンロード

以下から取得できます.Git を使われていない方は Download ZIP から ZIP 形式でダウンロードします.

https://github.com/kimata/amazhist

準備

このスクリプトは次のライブラリを使用します.インストールしていない場合は gem 等を使って入れておきます.

  • Term::ANSIcolor
  • Nokogiri
  • Mechanize

使い方

このスクリプトは,次の 2 つから構成されています.

amazhist.rb
Amazon から履歴情報およびサムネイル画像を取得
amazexcel.rb
取得した情報を整形し,Excel 形式で出力

まず,amazhist.rb の実行方法について説明します.

  1. 次の環境変数に Amazon の ID とパスワードを設定します.
    • amazon_id
    • amazon_pass
  2. 次のようにしてスクリプトを実行します.

    引数の意味は次の通りです.

    -j
    履歴情報を保存する JSON ファイルのパス
    -t
    サムネイル画像を保存するディレクトリのパス

購入履歴が大きい場合,1時間以上かかることもあります.気長に待ちましょう.

続いて,amazexcel.rb.

  1. Windows に Ruby をインストールします.こちらのスクリプトは WIN32OLE を使用するため,Linux や Mac では動きません.
  2. 次のようにしてスクリプトを実行します.

    引数の意味は次の通りです.

    -j
    履歴情報を保存する JSON ファイルのパス (amazhist.rb にて生成したもの)
    -t
    サムネイル画像が保存されているディレクトリのパス (amazhist.rb にて生成したもの)
    -o
    生成する Excel ファイルのパス

上手く動かない場合

コマンドを実行した際の出力を教えてもらえると,解決できるかもしれません.

LINEで送る
Pocket

,

2 thoughts on “Amazon の買い物履歴情報のビジュアル化 【2015年 Excel 版】
  • 四ノ宮京夜 より:

    すみません
    うまく動かないのでご教授お願いします。
    実行したときのエラーは次のようになります。

    Parsing Year 2000 page 1 C:/Ruby22/lib/ruby/2.2.0/net/http.rb:923:in connect':
    SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificat
    e verify failed (OpenSSL::SSL::SSLError)
    from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:923:in
    block in connect’
    from C:/Ruby22/lib/ruby/2.2.0/timeout.rb:73:in timeout'
    from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:923:in
    connect’
    from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:863:in do_start'
    from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:858:in
    start’
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/net-http-persistent-2.9.4/lib/ne
    t/http/persistent.rb:700:in start'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/net-http-persistent-2.9.4/lib/ne
    t/http/persistent.rb:631:in
    connection_for’
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/net-http-persistent-2.9.4/lib/ne
    t/http/persistent.rb:994:in request'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/mechanize-2.7.4/lib/mechanize/ht
    tp/agent.rb:267:in
    fetch’
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/mechanize-2.7.4/lib/mechanize.rb
    :464:in get'
    from amazhist.rb:203:in
    get_item_list_by_page’
    from amazhist.rb:233:in block in get_item_list'
    from amazhist.rb:229:in
    loop’
    from amazhist.rb:229:in get_item_list'
    from amazhist.rb:267:in
    block in ‘
    from amazhist.rb:266:in each'
    from amazhist.rb:266:in

  • kimata より:

    おそらく下記の問題だと思われます.

    Windows上のRubyでSSL接続時にcertificate verify failedが出る場合の対処
    https://qiita.com/whiteleaf7@github/items/4504b208ad2eec1f9357

コメントを残す

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