2008/12/20

ATOKからYahoo検索を実行する

自社コーディングパーティ成果、第2弾。

ATOKの導入検討中なので、現在ATOK試用版を使っているのですが、ATOKを使い始めたらやってみたかったATOKダイレクト API for Perl / Rubyを試してみることにしました。なお、Ruby本体はActiveScriptRubyを使ってます。

文字列を入力して、Ctrl+Insキーを押すと、その文字列をYahoo検索で検索し、結果のURLを一覧にします。ブラウザのURL欄で使うことを想定。


#!/usr/bin/ruby -Ku

require 'open-uri'
require 'rexml/document'

module Atok_plugin
def run_process( a_request_data )
input_str = URI.escape(a_request_data['composition_string'])
candidate_array = Array.new

url = "http://search.yahooapis.jp/WebSearchService/V1/webSearch?appid=APPID&query=" + input_str
open(url) do |http|
res = http.read

doc=nil
doc=REXML::Document.new res
doc.elements.each('ResultSet/Result') do |elm|
candidate_array.push({'hyoki' => elm.elements['Url'].text.to_s,
'comment' => elm.elements['Title'].text.to_s})
end
end

result_data = Hash.new
result_data['candidate'] = candidate_array
return result_data
end
end


結果はこんな感じ。便利かどうかはともかく、ATOK API面白いです。