« さくらのレンタルサーバ: MySQL データベースの自動バックアップ | メイン | Xalan-C++のインストール »
2005年04月23日
Ruby スクリプト: Amazon ECS で BrowseNode の検索
ふと思い立って、Amazon ECS(Web サービス) を使って、アマゾンの BrowseNodeId を検索するプログラムを作ってみました。
アマゾンの膨大な商品群は、BrowseNode と呼ばれるものでジャンル分けされています。それぞれのBrowseNode には BrowseNodeId と呼ばれる番号がついていて、それを検索するのがこのプログラムです。
この手のプログラムは既にあちこちで作られていますが、勉強のために Ruby で一から作ってみました。
このプログラムを動作させるには、いくつか注意事項があります。
- Amazon Webサービス のデベロッパートークン(ID)とAmazonアソシエイトのIDを持っていることが前提です
- このプログラムはRuby 1.8.2以降で動作します。特に、NKFはUTF-8対応版である必要があります。当サイトはさくらのレンタルサーバで動いていますが、サーバに入っているRubyは若干古くてNKFがUTF-8対応していないようなので、nkf.soだけ自分でコンパイルしたものに置き換えました。
- 上記のリンクのスクリプトを保存して、gunzipで展開して、ファイル名をbrowsenode.cgiなど適切なものに変更します。ブラウザによっては自動でgunzipするかもしれません。ファイルの文字コードはEUCです。
- スクリプト中の以下の行を書き換えて、自分のデベロッパートークンとアソシエイトIDに置き換えます。ECS.new の行がデベロッパートークンの指定、その次がアソシエイトIDの指定です。
ecs = ECS.new 'XXXXXXXXXXXXXXXXXXXX' ecs.aid = 'pylori-22'
準備が済み、ブラウザでアクセスすると、トップカテゴリの一覧と BrowseNodeId の入力フォームが現れると思います。トップカテゴリのリンクから順番にたどっていくか、直接BrowseNodeIdを入力すると、サブカテゴリ(子ノード)が表示されます。IDのリンクをたどると、さらにその子ノードを検索し、ノード名のリンクをクリックするとアマゾンのページに移動します。
投稿者 tam : 2005年04月23日 13:33