« イオンが屈服するニオイ? | トップページ | 堺市立図書館のBL図書引き上げ問題に寄せて »

2008.11.16

ATOKダイレクトのAmazon検索プラグインを使ってみる

 最近、ATOKダイレクト API for Perl/Rubyの機能を使ってamazonの検索ができるプラグインを作った人がいるらしい、という話を目にしました。
 作者さんのブログはこちらです。
 ATOKでAmazon検索。(SaikyoLine.jp)

 「ATOKダイレクト」というのはATOK2008から採用されたメニューで、ATOKに簡単にプラグインを追加して、ATOKの変換メニューからWeb検索等を行えるようにしているものです。そのプラグインをPerlやRubyで作れるようにしたAPIを使ったのが上のamazon検索プラグインだそうで。
 私はかなり保守的な人間で、検索ぐらい横着しないでブラウザから直打ちすればいいじゃん、というのが通常の姿勢です。しかし、図書館屋として、「amazonが辞書のように引ける」という機能を見過ごせず、つい釣られてしまいました。

 以上、前置きが長くなりましたが、自分のWindows PC(OS:Windows XP Professional SP3)にAmazon検索プラグインを導入してみました。
 ちなみにPerlはラマ本で挫折、UNIX系アプリは一般ユーザ権限でしか使ったことのない素人です。PCはあくまで道具箱。どうやらアタマがスクリプトに向いた構造になっていないようです。
 導入手順は次のとおり。

  1. amazonの「AWS Access Key ID」を取得する。
  2. ATOKダイレクトを有効にする。
    (参考:ATOKダイレクトって何?(Windows版)
  3. 以下のPerlとRubyをセットアップする。
    【Perl】ActivePerl 5.8.8 build 822
    【Ruby】Ruby 186-25
  4. nokogiri(1.0.0)もセットアップする。
  5. 作者さんのブログから、amazonプラグインのセットアップファイル(ZIPで提供)をダウンロードして、解凍。
  6. 解凍フォルダ内のスクリプト本体(DATA\amazon_search.rb)の9行目の「AWS Access Key ID」を、1で取得したものに書き換えてから、セットアップする。
  7. ATOKダイレクトの環境設定で「Amazon検索」を有効にする。

 基本的にはこれで導入は完了です。
 自分的に迷ったポイントは、次の2点でした。

「AWS Access Key ID」って何?
 初耳だったのでとにかくググってみました。
 Amazon Web サービス(AWS)の概要 [Perl講座 -Smart]

によれば、よく分かりませんが(オイ)、AmazonのWebで提供されているデータを流用して別のWebサービスで利用するためには必須のIDらしいです。
 amazon.co.jpのアカウント登録なら持っていましたが、どうもこのIDはamazon.comでないと発行していないらしいので、amazon.comにアカウント登録してIDを取得しました。

PerlやRubyに下位互換はない?
 上にPerl, Ruby, そしてnokogiri(Rubyのモジュールの1つ)のバージョンを併記していますが、このバージョンをきっちり守らないとAPIが動いてくれません。
 最近はWindowsでも、ソフトウェアのバージョンによりVista未対応というのは珍しくありませんが、UNIX由来のアプリケーションを久々に触ったので、最初うっかり新しいバージョンのPerlを入れてしまい、しばらく悩みました。
 困ったのはnokogiri 1.0.0。Rubyでは

gem install [モジュール名]

でモジュールをリモートから引っ張ってきてインストールできる、ということは分かるのだけど、これだと最新版(1.0.6, 1.0.5)しか引っ張ってこないみたいだし……と散々悩んだ末、自力解決をギブアップ。人に尋ねて、以下のとおりバージョン指定してやれば良いということがやっと判明しました(悲しいぐらい素人)。

C:\ruby>gem install nokogiri --version '= 1.0.0'
Select which gem to install for your platform (i386-mswin32)
1. nokogiri 1.0.0 (x86-mswin32-60)
2. nokogiri 1.0.0 (ruby)
3. Skip this gem
4. Cancel installation
> 1
Install required dependency hoe? [Yn]  y
Install required dependency rubyforge? [Yn]  y
Successfully installed nokogiri-1.0.0-x86-mswin32-60
Successfully installed hoe-1.8.2
Successfully installed rubyforge-1.0.1
Installing ri documentation for nokogiri-1.0.0-x86-mswin32-60...
Installing ri documentation for hoe-1.8.2...
Installing ri documentation for rubyforge-1.0.1...
Installing RDoc documentation for nokogiri-1.0.0-x86-mswin32-60...
Installing RDoc documentation for hoe-1.8.2...
Installing RDoc documentation for rubyforge-1.0.1...

C:\ruby>

 肝心のプラグインの実行については、下2図のような感じです。

Adamazon01

 単語を入れて、ATOKで変換前に[Shift]+[Ctrl]+[Ins]を押下し、「Amazon検索」を選ぶと、下図のような「ATOKダイレクト候補」が提示されます。
 ちなみにISBN入力(ハイフンなし)でも商品名を引くことが可能です。

Adamazon02

 候補間の移動はSpaceキーで。
 適当な候補で[Shift]+[Enter]を押下すると、amazon.co.jpの該当商品ページが開きます。

 このプラグイン、書名のうろ覚え検索にももちろん便利ですが、上記のようにISBN検索にも対応してるし、あと、簡易にamazonの書名を引っ張ってきて文書に入力したい時にも便利そうです。
 機能的にはジャストシステム公式のサンプルで提供してくれても良い位だと思います。ただしその場合はPerl, Ruby抜きで(^_^;)。

|

« イオンが屈服するニオイ? | トップページ | 堺市立図書館のBL図書引き上げ問題に寄せて »

コメント

こんばんは。
勢いだけで作ったネタのつもりのプラグインだったのですが、使っていただきありがとうございます。
使いたかっただけのnokogiriでお手間をとらせてしまったようで・・・。

もう不要かもしれませんが、せっかくなのでnokogiri不要のバージョンも置いておきます。
(依然としてIDとRubyは必要ですが。)

よろしければどうぞ。

投稿: yoshuki | 2008.11.17 23:49

yoshukiさん、初めまして。
コメントいただきまして恐縮です。

nokogiriの件では文句たれですみません。
スクリプトに慣れていない人間が、たまにスケベ心を起こして手を出すとこんなになるという生きた実例です(^_^;)。

nokogiri不要版プラグインも作っていただいたようでありがとうございます。
先ほどnokogiri版と入れ替えを試みたのですが、急にamazonで「検索候補なし」と出るようになってしまったので、再度nokogiri版に戻してしまいました。
また時間のあるときじっくり不要版を試してみたいと思います。

投稿: MIZUKI | 2008.11.18 00:47

こんばんは。
特定の結果で候補が出なかったバグを直しました。
試していただけたのに失礼しました。

投稿: yoshuki | 2008.11.19 00:31

>特定の結果で候補が出なかったバグを直しました。
ありがとうございました。
なのに何故かnokogiri版しか上手く動かない私のPC……。
価格情報の有無とは関係なく、検索結果を引っ張ってきてくれないのでした。

投稿: MIZUKI | 2008.11.22 22:23

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/22112/43132371

この記事へのトラックバック一覧です: ATOKダイレクトのAmazon検索プラグインを使ってみる:

« イオンが屈服するニオイ? | トップページ | 堺市立図書館のBL図書引き上げ問題に寄せて »