Plagger で Yahoo!Booksのランキングをとってくる

さすがにPlaggerでもこれは無理だと思いたい。PythonでYahoo!Booksのランキングをとってくる。 というエントリを見て、なんか釣りっぽいタイトルだけど敢えて釣られてみた。

ちょっとアウトプット違うけど、Plagger なら 10 分でできた。

http://mizzy.org/img/plagger-ybooks-s.jpg

以下の2つのファイルを用意してやるだけ。

config.yaml

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://books.yahoo.co.jp/ranking/general/all/all/weekly/index.html
          meta:
            follow_link: /book_detail/.*

  - module: CustomFeed::Simple

  - module: Filter::EntryFullText

  - module: Publish::Gmail
    config:
      mailto:   xxx@gmail.com
      mailfrom: plagger@mizzy.org
      mailroute:
        via: smtp
        host: localhost
        attach_enclosures: 1

EntryFullText 用 yaml

author: Gosuke Miyashita
handle: http:\/\/books\.yahoo\.co\.jp\/book_detail\/\d+
extract: <!-- 書籍紹介 -->.+<small>(.*?)</small>.+<!-- //書籍紹介 -->
extract_capture: body

既存の設定からほぼコピペなので、10 分のうち7割ぐらいは、EFT 用 yaml の文字コードが UTF-8 じゃないといけないのに、euc-jp にしてて「なんかうまくいかねー」とかやってた時間。