Amazon の買い物履歴情報を分かり易く出力するスクリプト,Amazhist を紹介します.
機能
このスクリプトの特徴は次の 3 点です.
- Excel ファイル形式での出力なので,分析が思いのまま
 - 購入日や価格だけでなく,カテゴリや売り手等もリストアップ
 - 履歴一覧に画像が付属
 
出力のスクリーンショットを以下に示します.実際に出力される Excel ファイルのサンプルはこちらにあります.
ダウンロード
以下から取得できます.Git を使われていない方は Download ZIP から ZIP 形式でダウンロードします.
GitHub - kimata/amazhist: Amazon の買い物履歴情報を取得し,Excel 形式で出力するソフトウェア
Amazon の買い物履歴情報を取得し,Excel 形式で出力するソフトウェア. Contribute to kimata/amazhist development by creating an account on GitHub.
準備
このスクリプトは次のライブラリを使用します.インストールしていない場合は gem 等を使って入れておきます.
- Term::ANSIcolor
 - Nokogiri
 - Mechanize
 
使い方
このスクリプトは,次の 2 つから構成されています.
- amazhist.rb
 - Amazon から履歴情報およびサムネイル画像を取得
 - amazexcel.rb
 - 取得した情報を整形し,Excel 形式で出力
 
まず,amazhist.rb の実行方法について説明します.
- 次の環境変数に Amazon の ID とパスワードを設定します.
- amazon_id
 - amazon_pass
 
 - 次のようにしてスクリプトを実行します.
1$ ./amazhist.rb -j amazhist.json -t img
引数の意味は次の通りです.- -j
 - 履歴情報を保存する JSON ファイルのパス
 - -t
 - サムネイル画像を保存するディレクトリのパス
 
 
購入履歴が大きい場合,1時間以上かかることもあります.気長に待ちましょう.
続いて,amazexcel.rb.
- Windows に Ruby をインストールします.こちらのスクリプトは WIN32OLE を使用するため,Linux や Mac では動きません.
 - 次のようにしてスクリプトを実行します.
1$ ./amazexcel.rb -j amazhist.json -t img -o amazhist.xlsx
引数の意味は次の通りです.- -j
 - 履歴情報を保存する JSON ファイルのパス (amazhist.rb にて生成したもの)
 - -t
 - サムネイル画像が保存されているディレクトリのパス (amazhist.rb にて生成したもの)
 - -o
 - 生成する Excel ファイルのパス
 
 
上手く動かない場合
コマンドを実行した際の出力を教えてもらえると,解決できるかもしれません.
  
  
  
  



コメント
すみません
うまく動かないのでご教授お願いします。
実行したときのエラーは次のようになります。
Parsing Year 2000 page 1 C:/Ruby22/lib/ruby/2.2.0/net/http.rb:923:in
connect':block 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
from C:/Ruby22/lib/ruby/2.2.0/timeout.rb:73:in
timeout'connect’from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:923:in
from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:863:in
do_start'start’from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:858:in
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'connection_for’from C:/Ruby22/lib/ruby/gems/2.2.0/gems/net-http-persistent-2.9.4/lib/ne
t/http/persistent.rb:631:in
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'fetch’from C:/Ruby22/lib/ruby/gems/2.2.0/gems/mechanize-2.7.4/lib/mechanize/ht
tp/agent.rb:267:in
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/mechanize-2.7.4/lib/mechanize.rb
:464:in
get'get_item_list_by_page’from amazhist.rb:203:in
from amazhist.rb:233:in
block in get_item_list'loop’from amazhist.rb:229:in
from amazhist.rb:229:in
get_item_list'block in ‘from amazhist.rb:267:in
from amazhist.rb:266:in
each'‘from amazhist.rb:266:in
おそらく下記の問題だと思われます.
Windows上のRubyでSSL接続時にcertificate verify failedが出る場合の対処
https://qiita.com/whiteleaf7@github/items/4504b208ad2eec1f9357