ただのにっき
2007-08-21(火) [長年日記]
■ ニコニコ動画の新作を見逃したくない人のためのPRaggerプラグイン
8月29日を待たずに各地のプロデューサーさんが新作を発表してるので超焦る。
というわけで、ニコニコ動画の特定タグの新作を監視してfeedにしてくれるPRaggerプラグインを書いた。役割分担をするために2本立て。
Feed::nicovideo_find
指定したタグのページをゲットするだけのプラグイン。Mechanizeとnet-netrcを使っているので、gemで入れましょう:
% gem install mechanize net-netrc
config.yamlはこんな感じでタグを指定するだけ:
- module: Feed::nicovideo_find config: tag: 才能の無駄使い
ログイン名とパスワードは、.netrcに「nicovideo.jp」のエントリとして指定する。いちおうconfig.yamlでも指定できるけど。
Feed::nicovideo_feed
受け取ったHTMLページを解析して新作を発見、feedにして返すプラグイン。descriptionの抽出が手抜きだけど気にしないこと。Hpricotを使っている……けど↑でMechanizeを入れてあれば入っているはずなので割愛。
過去のデータを保存するためのキャッシュファイルがないと新作チェックができないので意味がない。config.yamlで指定する:
- module: Feed::nicovideo_feed config: cache: /var/tmp/nicovideo_cache.yaml
config.yamlサンプル
あとは他のプラグインと組み合わせてこんな感じでfeed生成:
- module: Feed::nicovideo_find config: tag: 真誕生祭PV - module: Feed::nicovideo_feed config: cache: /home/sho/var/makoto_birthday.yaml - module: head config: n: 50 - module: RSS::save config: title: ニコニコ動画 - 真誕生祭PV link: http://www.nicovideo.jp/ filename: /var/www/komainu/htdocs/feed/makoto_birthday.rdf
ところで、「PRagger」なんだろうか、「Pragger」なんだろうか。公式サイトでも表記が揺れている。
2008-02-18追記
現在はYaSuYuKiさんがCodeRepos上でメンテしている。下記のあたりを参照: