モバイルスイカは50件も履歴があってしかもネットで見れるので便利。
が、使用額が出てないなど微妙にgnucashに取り込み辛い。MS-Excelでテンプレートを作ってautomatorでcsv作成を自動化してみたのだけど、イマイチ動作が遅くて残念な感じ。

google様がrubyを使ってスクレイピングをしている人を教えてくださった。
そこで、rubyを使ってみることにした。snow leopardなので予め入っているものも使えそうだけど、mac portsでインストールしてみた。
sudo gem install mechanize
sudo gem install nokogiri 
をしてからirbで
require 'MobileSuica'
MobileSuica.get("user", "pass")
が 通ることを確認。ちなみにここに書いてあることにハマったので、頂いたMobileSuica.rbの
 WWW:: の部分をすべて削除
しました。
rubyの書き方をG先生に聞きながら書いてみたら取り敢えず動いた。汚いかもしれないけど動けばいいのでこれで。
!/usr/bin/env ruby -Ku
# -*- coding: utf-8 -*-
require 'rubygems'
require 'csv'
require 'MobileSuica'
require 'date'
tbl=MobileSuica.get('yourID','Pass')
line = tbl.size
line.times do |n|
tdate = Date.strptime(tbl[n][0],'%m/%d')
tdate = tdate << 12 if tdate > Date.today
desc = tbl[n][1]
if desc == '入' || desc == '*入'
explanation = tbl[n][2] + '~' + tbl[n][4]
elsif !(tbl[n][2] == "")
desc = desc+'_'+tbl[n][2]
end
balance = tbl[n][5].sub(',','').to_i
begin
value = tbl[n+1][5].sub(',','').to_i - balance
rescue
value = 0
end
tbl[n] = [tdate, desc, value, balance]
end
CSV.generate("suica#{Date.today}.csv"){|writer|
tbl.each{|row|
writer << row
}
crontabに下記の通り登録すれば1日、15日に定期的に取得もできるはず。
00 07 1,15 * * script.rb