Mextractrに関する注目が集まっているので、自分が使っているライブラリを公開します。
#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\nMextractr WebAPI results \n 2008-11-27T10:05:38+09:00\n \n Mextractr\n \n 20081127_0001\n \n \n 20081127_0001\nextracted 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の内容とかを見ることが出来るので、挙動がおかしい時に犯人を突き止める一助になります。