英英辞書のAPI

諸事情で英英辞書のAPIを探していて、ネットを徘徊してたらGoogleの辞書サービス(http://www.google.co.jp/dictionary)が、
公式にAPI的な公開はされてないけど、イイ感じに使えるよ的なのをみて、
実際に↓こんなURLにアクセスしてみたら
http://www.google.com/dictionary?aq=f&langpair=en|en&q=desk&hl=en
 
↓こんな感じで『pr-root』ってトコを引っこ抜けばよさげ。

送信者 blog用

 
ってことで↓みたいなコード書いたら、

  1 require 'net/http'
  2 require 'rexml/document'
  3
  4 Net::HTTP.version_1_2
  5 Net::HTTP::Proxy('プロキシサーバ', プロキシポート).start('www.google.com', 80) {|http|
  6   response = http.get('/dictionary?aq=f&langpair=en|en&q=desk&hl=en')
  7   doc = REXML::Document.new response.body
  8   puts doc
  9 }

↓のように、エスケープしてない&があるとは何事じゃ的な…。

Illegal character '&' in raw string

HTMLとってきてシコシコエスケープしてからパースすんのかったるいなぁと。。。
他のパーサー探したりするのもかったるいし。。。
 
で、もうちょい探してたら↓こんなんあるぜ、と。
Aonaware Web Services DictService(http://services.aonaware.com/DictService/)
  
最近仕事でもWordNetがウンタラとか言ってるので↓こんな感じで叩いてやると
(APIの詳細は→http://services.aonaware.com/DictService/DictService.asmx?op=DefineInDict)

curl "http://services.aonaware.com/DictService/DictService.asmx/DefineInDict?dictId=wn&word=japan

↓のようになかなかイイ感じです。

<?xml version='1.0' encoding='UTF-8'?>
<WordDefinition xmlns='http://services.aonaware.com/webservices/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
  <Word>desk</Word>
  <Definitions>
    <Definition>
      <Word>desk</Word>
      <Dictionary>
        <Id>wn</Id>
        <Name>WordNet (r) 2.0</Name>
      </Dictionary>
      <WordDefinition>desk
     n : a piece of furniture with a writing surface and usually
         drawers or other compartments
</WordDefinition>
    </Definition>
  </Definitions>
</WordDefinition>

まぁ、コレでいっかって事で↓こんな感じで、WordDefinitionタグの中身をホゲホゲするコード書くべかな。

  1 require 'net/http'
  2 require 'rexml/document'
  3
  4 Net::HTTP.version_1_2
  5 Net::HTTP::Proxy('プロキシサーバ', プロキシポート).start('services.aonaware.com', 80) {|http|
  6   response = http.get('/DictService/DictService.asmx/DefineInDict?dictId=wn&word=★調べたい単語★)
  7   doc = REXML::Document.new response.body
  8   puts doc
  9 }

 

たのしいRuby 第3版
たのしいRuby 第3版

posted with amazlet at 11.04.08
高橋 征義 後藤 裕蔵
ソフトバンククリエイティブ
売り上げランキング: 26566

コメント

タイトルとURLをコピーしました