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