- blogs:
- cles::blog

Template::Extract 最高!

Amazonのトップ 100 リストについての情報を継続的にWatchしたいと前々から思っていました。もちろん、ページを取得して正規表現でparseすればいいのはわかっているのですが、面倒くさいのですっかり放置状態になっていました。
それがPerlのTemplate::Extractを使うとスマートに実装で出来そうなのでうれしくなってしまいました。
† Template::Extractとは
Template-Toolkitはテンプレートから実際のテキストを生成する、差し込み印字のような機能を持ったモジュール群です。Template::Extractもそのひとつなのですが、その機能はちょっとかわっていて、テキストからテンプレートでマッチした部分の文字列を取り出すことができるという機能があります。
これを使えば、任意のHTMLからデータを取得することが出来るようになるので、既存のWebの仕組みをまったく変えずにRSS生成などをする場合に便利そうな感じ・・・と思ったらもういろいろな所でそういう使われ方をしているみたいです。ちょっと時代遅れで恥ずかしい限り。
参考:NDO::WeblogさんのTemplate::Extract + XML::RSS でRSS 生成
† 早速開発してみる
ほんの一時間足らずで、目的のプログラムが完成してしまいました。
これは本当に使えそうです。
† そもそもAmazonのランキングが
この事件の発端はそもそもAmazonのランキング情報が怪しいというところに問題があります。僕が認識している限りでAmazonには3つのランキング情報が存在するようですが、どれが正しいのか正直言ってよくわかりません。この辺のロジックがわかる方、誰か教えてください。
・一時間ごとに更新されるトップ 100 リスト
・商品の個別ページに掲載されているAmazon.co.jp 売上ランキング
・AWS*1で取得できるSalesRank
- *1: Amazon Web Service
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/213
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110652)
3 . 年次の人間ドックへ(110282)
4 . 2023 年分の確定申告完了!(1つめ)(109820)
5 . 三菱鉛筆がラミーを買収(109725)