Plaggerで朝日新聞のFeedを取得してKindleで閲覧する


たださんが日経電子版をスクレイピングしてKindle向けmobiファイルを作る - ただのにっき(2011-01-04)でおもしろそうなことをやってたので、自分でもやってみた。
Feedの取得やWebのScraping、加工はPlaggerにお任せすることにして、Publish::Kindleを書いた。XHTMLtocの生成はPublish::CHTMLから、メール送信部分はほぼPublish::Gmailからのコピーで済ませた。mobiファイルの生成にkindlegenを使ってるので、あらかじめ取得しておく必要がある。Kindle.pm以外にテンプレートも必要なので、asset以下にコピーしてほしい。
こんなyamlを書いてplaggerを実行すると、workで指定したディレクトリにmobiファイルが生成される。Kindle 3に転送して表示したのが冒頭の写真。

global:
  timezone: Asia/Tokyo
  assets_path: /path/to/plagger/assets
  log:
    level: debug

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://www3.asahi.com/rss/index.rdf

  - module: Publish::Kindle
    config:
      title: asahi.com
      work: /path/to/work
      kindlegen: /path/to/kindlegen

なお、configにPublish::Gmailと同じ書式でmailto, mailfrom, mailrouteを書けば、生成したmobiファイルをメールでKindleに送信する。Kindle 3なら@free.kindle.comのメールアドレスを使えば、Wi-Fi経由で無料で送信できるので、定期購読できるなんちゃって電子新聞のできあがり。
難点としては、mobiファイルの生成をkindlegenに依存してるので、FreeBSDで動作しないところ。定期実行用にLinux Boxを確保せねば。あと、mobiファイルは通常の書籍と同じbook形式だけど、できればperiodical形式*1にしたいところ。periodicalのフォーマットは非公開だから、kindlegen以外で生成することになりそう。

*1:Amazon.comでBlogやら新聞やら雑誌を買ったときのファイル形式。最新版が配信されたら古いファイルを削除するとか、記事単位のナビゲーションができるとか、書籍と異なる操作が可能。