plaggerを触ってみました。結構時間がかかったのでメモ書きです。
練習のため、はてなブックマークのトップのRSSから、300件以上ブックマークされているエントリをCSVに、更にそのうち500件以上ブックマークされているエントリをDBに格納してみました。肝心のフィードを弄るところの理解が中々進んでいませんが、とりあえずは、以下の2つを覚えておけば欲しいフィードとエントリを集められそうです。
-
特定の条件にてフィードを削除
Filter::Rule -
特定の条件にてフィードを複製
SmartFeed
global:
assets_path: /usr/local/share/plagger/assets
plugins:
# 入力となるFeedの設定
- module: Subscription::Config
config:
feed:
- url: http://feeds.feedburner.com/hatena/b/hotentry
# ユーザ数を取得して、エントリを修正
- module: Filter::HatenaBookmarkUsersCount
- module: Widget::HatenaBookmarkUsersCount
# 300件以下は削除
- module: Filter::Rule
rule:
module: Expression
expression: $args->{entry}->{meta}->{hatenabookmark_users} > 300
# 500件以上は複製
- module: SmartFeed
rule:
module: Expression
expression: $args->{entry}->{meta}->{hatenabookmark_users} > 500
config:
id: copy
# 出力先1
- module: Publish::CSV
config:
dir: .
encoding: utf-8
filename: out.csv
mode: create
column:
- title
- permalink
rule:
expression: $args->{feed}->id ne 'copy'
# 出力先2
- module: Store::DBIC
config:
schema_class: Plagger::Schema::MySQL
connect_info: ['dbi:mysql:plagger_db', 'plagger_user', 'plagger_pass']
rule:
expression: $args->{feed}->id eq 'copy'まだ、巷で言われている超便利!は感じられてないですが、それでも可能性が凄くあるのは解ります。あと、複数のYAMLでチェーン出来るともっと便利だと思うのは気のせいかしら。
関連する記事
タグ: helloworld, plagger

