Automatic RubyでPixivのRSSを生成する

Pixivはチェックしない日が無いくらい好きなサービスなんだけど、毎日マイページにお気に入りユーザの新着イラストを見に行くのがしんどくなってきたのでRSSリーダで見れるようにすることにした。

フィードの生成にはRubyPlagger的なAutomatic Rubyを使うことにした。pluginもカンタンに書けるようになっていて、Rubyを書くのが初めてな自分でもすぐ動くものができた。

手順

まずはAutomatic Rubyの導入から。

gem install automatic
automatic scaffold

~/.automaticが生成されるので、フィード生成用のプラグインを~/.automatic/plugin 下に配置する。gistには

  • pixiv.rb
  • file.rb

があるので、それぞれplugin/custom_feed、plugin/publishフォルダに入れておく。

pixiv gem

pixivプラグイン内では、pixivから画像を引っ張ってくるためにuasiさんのpixiv用rubyラッパを使ってる。

本家にはお気に入り新着のイラストを取ってくる実装がなかったので、fork版でその機能を追加した。 horimislime/pixiv at favorite-arrival · GitHub

$ git clone http://github.com/horimislime/pixiv.git
$ cd pixiv
$ sudo rake install

フィード生成

Pixivのお気に入り新着10件をRSSに書き出すレシピを用意してみる。

global:
  timezone: Asia/Tokyo
  cache:
    base: /tmp
  log:
    level: info
 
plugins:
  - module: CustomFeedPixiv
    config:
     pixiv_id: user_id
     pixiv_password: password
     fetch_items: 10
 
  - module: PublishFile
    config:
     output_file: /path/to/pixiv_feed.xml

ログインIDとpasswordを書き換えて、フィードの書き出し先を変更しておく。

$ automatic -c pixiv2rss.yml

これで毎日の日課だった新着チェックがRSSリーダからできるようになった。

ただし、問題が・・・

さっそく生成したRSS自宅サーバapache経由でアクセスできるようにして、Google Readerに登録してみたら・・

f:id:horimislime:20130331235754j:plain

なぜか画像が表示できず、どうも403が返ってきてるらしい。まだ詳しく原因を調べていないけど今回はここまで。できれば、というかなんとしても画像もRSSリーダーで見れるようにしたいなぁ