サンプルコード
このページでは、Mextractr WebAPIの利用例を紹介します。 Ruby、C#、Javaでのマッシュアップに使えるサンプルソースを掲載します。
各サンプルの動作:
入力文字列
"来る10月23日、定時株主総会を東京都墨田区本所の弊社会議室にて開催いたしま す。是非ご出席いただけますようお願い申しあげます。"
をMextractr WebAPIに送り、 抽出結果のAtomを取得して、以下のようなリストとして出力します。
WHEN 10月23日 WHERE 東京都墨田区本所 WHERE 弊社会議室 WHAT 定時株主総会
Ruby
*コードリスト
$-K = "U"
require "uri"
require "open-uri"
require "rexml/document"
require "Kconv"
text = "来る10月23日、定時株主総会を東京都墨田区本所の弊社会議室にて開催いたします。是非ご出席いただけますようお願い申しあげます。"
def url_for_mextractr(string)
# Mextractr WebAPIのURL 出力はatom
url = "http://api.emetadata.net/mextractr?out=atom"
# APIキー(取得して置換してください)
url += "&apikey=XXXXXXXXXXXX"
# テキストをURLエンコードして追加
url += "&text=#{URI.escape(string)}"
return url
end
open(url_for_mextractr(text)) do |s|
puts "input:" + text.tosjis
result = s.read
# REXMLクラスのドキュメントとして結果を読み取る
document = REXML::Document.new(result).root
title =document.elements["/feed/entry/title"].texts
# 各要素の取出しと出力
# Windowsのコマンドプロンプトでの実行を想定し、tosjisを付けている
items = document.elements["entry"].elements
items.each("gd:who"){|elem| puts "WHO:" + elem.attributes["valueString"].tosjis }
items.each("gd:where"){|elem| puts "WHERE:" + elem.attributes["valueString"].tosjis }
items.each("gd:when"){|elem| puts "WHEN:" + elem.attributes["valueString"].tosjis }
items.each("gd:extendedProperty"){|elem|
if elem.attributes["name"] == "what"
puts "WHAT: " + elem.attributes["value"].tosjis
end
}
end
