Praggerさわってみた

「はらへった」と検索するとピザが注文されることで有名なPlaggerのruby版。ruby1.8.5以上が必要なのだけれども、aptitudeで落とそうとすると最新が1.8.2になっていたので、結局ソースからビルド。

落としたら後はサクサク……と行きたいところだったのだけれども、各モジュール間のデータの受け渡しの形式が良くわからなくて苦労した。

下のは2chのヘッドラインRSSから特定のカテゴリのヘッドラインを1行で出力するYAML。

- module: RSS::load
config:
url: http://headline.2ch.net/bbynews/news.rss
- module: Filter::get_title
- module: Filter::grep
config:
regex: "\[[ビ速二]"
- module: Filter::subs
config:
regex: "\[[ビ速二][+軍]\] "
to: ""
- module: concat
config:
- module: stdin
- module: Filter::subs
config:
regex: "\n"
to: ""
- module: Filter::uniq
- module: stdout

Filter::get_titleとFilter::uniqは一応自作。ほとんど手がかかってないけど。

def get_title(config,data)
r = []
data.each {|i| r.push(eval("i.title")) }
return r
end
def uniq(config, data)
return data.uniq
end

実行方法。

$ ./pragger -c rss2ch.yaml < output1.txt > output2.txt
...
$ cat output2.txt
【米国】ロサンゼルス南部でファストフード店廃止案
【滋賀】医療保険金還付と不審電話相次ぐ
【企業】赤福、年内営業再開は困難 14日に改善計画書
$

標準入出力を使っているのは変えたい。あとはデータ量を抑えたいのでリストの要素数を制限するフィルタを作るか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です