[ruby]mextractor web apiのライブラリ

Mextractrに関する注目が集まっているので、自分が使っているライブラリを公開します。

mextractr_webapi.rb

#RubyForgeのプロジェクトは今申請中なので、gemはちょっとお待ちくださいませ。

使い方としては、APIキーを取得して、

$ script/console
Loading development environment (Rails 2.0.2)
>> require "mextractr_webapi"
>> mextractr = MextractrWebApi.new(MEXTRACTR_KEY)
>> res = mextractr.parse("11/27(木)、京都市中京区のはてな京都オフィスでShibuya Perl Mongersテクニカルトークのパブリックビューイングが開催されます。")
>> pp res
{"id"=>"20081127_0001",
"updated"=>"2008-11-27T10:05:38+09:00"
"response"=>
"\n\n  Mextractr WebAPI results\n  2008-11-27T10:05:38+09:00\n  \n    Mextractr\n  \n  20081127_0001\n  \n    \n    20081127_0001\n    extracted event metadata\n    \n      Mextractr WebAPI\n    \n    2008-11-27T10:05:38+09:00\n    11/27(木)、京都市中京区のはてな京都オフィスでShibuya Perl Mongersテクニカルトークのパブリックビューイングが開催されます。\n    \n    \n    \n  \n\n",
"content"=>
"11/27(木)、京都市中京区のはてな京都オフィスでShibuya Perl Mongersテクニカルトークのパブリックビューイングが開催されます。",
"where"=>
[{"georss:point"=>nil, "valueString"=>"木)、京都市中京区"},
{"georss:point"=>nil, "valueString"=>"京都"}],
"when"=>[{"valueString"=>"11/27(木)", "startTime"=>"2008-11-27"}],
}

という具合です。
res[‘when’][0][‘startTime’]とか、res[‘where’][0][‘valueString’]という具合で各値を取り出すことが出来ます。

あと、MextractrWebApi.new(MEXTRACTR_KEY)の二つ目の引数にloggerを渡すと、取得してきたatomの内容とかを見ることが出来るので、挙動がおかしい時に犯人を突き止める一助になります。