SONY ELIOカードの利用明細取得

見てみると、三井住友VISAとほとんど同じ。同じパッケージですね。
もしかすると az=z1 の部分は時期で変わるのかもしれない。ちゃんと取得したいけど、JavaScriptで動的に作られる部分なので無理。さすがにJavaScriptの解析までRubyでかくのはしんどいので、MechanizeをあきらめてWin32OLEでIEをナビゲートする必要があるかも。

#! ruby -Ku
require "rubygems"
require "mechanize"

USER="********"
PASS="********"
YYYYMM="200909"
OUTFILE="#{File.basename(__FILE__,'.rb')}-#{YYYYMM}.csv"

agent=WWW::Mechanize.new
agent.user_agent_alias = "Windows IE 7"
$agent=agent

agent.get("http://www.sonyfinance.co.jp/")
agent.get("https://www.sonyfinance-card.com/member/xt_auth.asp?az=z1")

form=agent.page.forms[0]
form.userid=USER
form.password=PASS
form.submit

agent.get("https://www2.sonyfinance-card.com/member/web_meisai/web_meisai_top.do")

form=agent.page.form("WebMeisaiCommonInputForm")
form.field("p01").options.each do |opt|
   opt.select if opt.value==YYYYMM
end
form.submit

link=agent.page.root.xpath("//a[text()='CSV形式で保存']")[0]["href"]
file=agent.get("https://www2.sonyfinance-card.com#{link}")
agent.get("https://www2.sonyfinance-card.com/member/xt_logout.do")

open(OUTFILE,"wb") {|f| f.print file.content}