デジモノに埋もれる日々の CKさん運営のあまとも : アマゾン(Amazon)の友では、 Amazon商品の価格変動がチェックできてとても便利です。
商品別RSSが配信されるように なってからは、気になる商品のRSSをlivedoor ReaderなどのRSSリーダーに登録してチェックしています。
価格が大幅に下がった時などは、特に購買欲が高まります。
そこで、自分が気になる商品のあまとものRSSを Plagger で加工して、ブログに貼り付けやすいようにPublish::JavaScriptしてみました。
アサマシくも自分のアソシエイトIDもいれてみました。

やりたかったこと。

  • Subscription::Configでfeedを複数指定。
  • Filter::Ruleで各feedの最新のものを指定。
  • Filter::TruePermalinkでアソシエイトID付きのURLに変更。
  • SmartFeedでひとつにまとめて適当なタイトルをつける。
  • Publish::JavaScriptで1つのjsファイルとして書き出し。
  • その時javascript.ttで自分好みに整形。
Perlをよく知らない私ができたのは以下。
  • Subscription::Configでfeedを複数指定。
  • Rule::Freshで前回起動時より新しいfeedを指定。
  • Filter::TruePermalinkでアソシエイトID付きのURLに変更。
  • Publish::JavaScriptで各feed毎にjsファイルとして書き出し。
  • その時javascript.ttで各feed毎に最新の1つだけにし、自分好みに整形。

config-amatomo-asamashi.yaml

global:
  plugin_path:
    - C:\Perl\site\lib\Plagger\Plugin
  assets_path: C:\Perl\site\lib\Plagger\assets
  timezone: Asia/Tokyo
  log:
    level: info
  cache:
    base: C:\plagger

plugins:
  - module: Subscription::Config
    config:
       feed:
        - url: http://c-kom.homeip.net/amatomo/rss/B000FO604G.xml
        - url: http://c-kom.homeip.net/amatomo/rss/B000BO9LDM.xml
        - url: http://c-kom.homeip.net/amatomo/rss/B000BRU8PO.xml

  - module: Filter::Rule
    rule:
      module: Fresh
      mtime:
        path: C:\plagger\tmp\amatomo.mtime
        autoupdate: 1
  - module: Filter::TruePermalink
  - module: Publish::JavaScript
    config:
      dir: C:\plagger\
      filename: amatomo-%u.js

Filter-TruePermalink/amatomo-asamashi.yaml

# http://c-kom.homeip.net/amatomo/
author: Shigefumi
match: http://c-kom\.homeip\.net/amatomo/asin/[A-Za-z0-9]{10}
rewrite: s!http://c-kom\.homeip\.net/amatomo/asin/([A-Za-z0-9]{10})!http://www\.amazon\.co\.jp/exec/obidos/ASIN/$1/shigefumimemo-22/ref=nosim/!

assets/plugins/Publish-JavaScript/javascript.tt
今回はデフォルトのものを変更していますが、 Publish::JavaScriptのconfigでテンプレートを指定できるようになればいいかも?

[% USE JavaScript -%]
document.write('[% FILTER js -%]
<div class="module">
<div class="module-content"><ul class="module-list">
[% FOREACH entry = feed.entries -%]
[% IF loop.first %]
<li class="module-list-item"><a href="[% entry.link | html %]">[% entry.body | html %]</a> | <a href="[% feed.link | html %]">あまともで見る</a></li>
[% END %]
[% END -%]
</ul>
</div>
</div>
[%- END %]');

以下にJavaScriptを貼り付けてみます。
[2006年 7/11変更]
試してみた時の出力結果を画像にしておきます。
amatomo-js

これをサイドバーに貼り付けられるようにもう少し整形してみるのもいいかも。
ただし、私は、自由にできるサーバを持っていないので、Publish::JavaScriptでできたファイルを手動でアップしています。
そういうことで、もっと簡単にならないと実際には運用しないと思います。

あと、ここで表示されている価格は、元々は「あまとも」がAmazonウェブサービスで取ってきたものですが、現在のものではありません。 Amazonの規約違反になってしまうでしょうか?
一応、日付も表示させてみましたが。
現在の価格を改めてAmazonウェブサービスで表示させないとだめでしょうか?
そうなると私にはちょっと難しそうです。
今回のはネタということで、、。

ところで、あまともでもブログのサイドバーに貼り付けられるようなものがあれば、 バイラル効果であまともへのアクセスも増えるでしょうね。
自分のアソシエイトIDが設定できれば、ブログに貼り付ける動機にもなりやすそうです。
サーバリソース等、検討することはいろいろありそうですが。

そういえば、Powered by Plagger のロゴって無いのかな?

[2006年 7/11追記]
CKさんは、最初からあまともサイドバーの構想はあったようで、その機能がリリースされました。
デジモノに埋もれる日々: あまともに新機能 - メール通知とサイドバー用パーツが加わりました!