日記/2007-8-25
最終更新時間:2007年08月25日 09時20分32秒
Koshiamazon プラグイン
※2007/10/11以降、koshian APIが停止してしまったため、このプラグインは使えなくなりました。こちらを参照のこと。
文章からキーワードを抜き出すKOSHIANというWeb APIを用いて、プラグインが記載されているページの内容からキーワードを抜き出し、それを元にAmazon Web Serviceで商品を検索するという、FreeStyleWiki用のプラグインを作ってみました。いまさら感もありますが、習作ということで。
使い方
{{koshiamazon b,5,1}}
「b」は商品ジャンルの指定で、これはAmazonSearch プラグインと同じです。
「5」は表示される商品件数の上限の指定(10より大きい数は指定できません)です。省略すると「1」と同じ。
「1」はAmazonで検索するときに与えるキーワード数です。数を増やすと検索結果を絞り込めます(なにもヒットしなくなることもありがち)。キーワードは抽出された頻度の高いものから順に与えられます。省略すると「1」と同じ。
本ページでの結果は以下のようになります。「extracted by koshian」の手前に出ている単語が、抽出されたキーワードです。さらに別のページでも試してみました。
インストール
- Amazon Web Serviceのアカウントを取得する(参考)。
- 以下のファイルをダウンロードする。
- koshiamazon.zip(201)
- Koshiamazon.pmの85行目の変数「$AccessKeyId」に取得したIDを設定する。
- ./plugin以下にインストールする。
- さらに以下のモジュールを./lib以下にインストールする。
補足
- ページを表示するたびにキーワード抽出するのは無駄ですし、KOSHIANに負荷をかけますので(「1秒に1回以下のリクエストとしてください。」との「お断り」がKOSHIANのサイトにあります)、抽出されたキーワードはキャッシュしています。ページが更新されたら、キャッシュも作り直します。
- でも、アマゾンへはページ表示のたびに検索にいきます……。
- 以下の単語はキーワードとして抽出されても無視しています。ページ内にURLが書いてあると必ず抽出されちゃうので。
- WWW、HTTP、HTML、HTM
- Koshiamazon.pmの88行目の変数「$AssociateTag」にアマゾンのアフィリエイトIDを入れるといいはずですが、自分がもってないもんで、うまく動くかどうか確かめてません。
- プラグインの出力全体を <div class="koshiamazon">〜</div> でくるんであります。テーブルを組んで表示していますので、枠線がうるさく感じる場合にはCSSで非表示にしてください。
div.koshiamazon table, div.koshiamazon th, div.koshiamazon td, div.koshiamazon img { border-style:none; }
参考および関連情報
- 文章からキーワードを抜き出すAPI: KOSHIAN
- ありがとうございます。
- AmazonSearch プラグイン
- これの前段にKOSHIANでの処理を付け足しました。コードが汚い……。
- FreeStyleWikiの本家のサイトのBugTrack/131
- pegelinkref プラグイン。キャッシュがらみのコードを参考にしました。
- Amazonおまかせリンク
- これ使えばいいんですけどね。