セゾンカードのWeb明細をダウンロードする
セゾンカードNetアンサーのWeb明細は過去3ヶ月分しかダウンロード出来ないので定期的にダウンロードしておかないと過去の明細が見れなくなってしまう。
毎回手動でログインしてダウンロードするのが面倒くさかったので、rubyのMechanizeを使って、過去3ヶ月分のCSVとPDFをダウンロードするスクリプトを書いた。
require 'mechanize' class SaisonClient def initialize @agent = Mechanize.new end def login @agent.get('https://netanswerplus.saisoncard.co.jp/WebPc/welcomeSCR.do') f = @agent.page.forms[0] f.inputId = 'NetアンサーID' f.inputPassword = 'パスワード' f.submit end def top @agent.get('https://netanswerplus.saisoncard.co.jp/WebPc/NATOP.do') end def move(link) @agent.page.link_with(:href=>link).click end def meisai move(/USC0101BLC01/) end def this_month top() meisai() download() end def one_month_ago top() meisai() move(/fixTargetMonth=1/) download() end def two_month_ago top() meisai() move(/fixTargetMonth=2/) download() end def download csv_link = @agent.page.link_with(:href=>/USC0105BLP01/) pdf_link = @agent.page.link_with(:href=>/USC0104BLP01/) save(csv_link) save(pdf_link) end def save(link) link.click @agent.page.save puts @agent.page.filename + " saved." end def logout top() move(/USL0100BLC01/) puts "logout." end end client = SaisonClient.new # ログイン client.login() # 今月分ダウンロード client.this_month() # 先月分ダウンロード client.one_month_ago() # 先々月分ダウンロード client.two_month_ago() # ログアウト client.logout()