せっかくPlaggerをインストールしたことだしというわけで、
いつも見ているニュースサイトをPlaggerしてみた。
CustomFeed::Configのダウンロード
まず、RSS等を配信していないサイトでも取り込めるようにするために、
CustomFeed::Configをダウンロードしてくる。
[Seacolors's Labs.]さん
http://plagger.g.hatena.ne.jp/Seacolor/
| $ cd /usr/lib/perl5/site_perl/5.8.6/Plagger/Plugin/CustomFeed/ $ wget http://seacolorswind.sakura.ne.jp/blog/development/Config.pm |
YAML作成
サイトを取得するためのYAMLを作成する。
| $ cd ~/plagger # 好きな場所で $ vim news.site.yaml global: assets_path: /usr/lib/perl5/site_perl/5.8.6/Plagger/assets timezone: Asia/Tokyo plugins: - module: Subscription::Config config: feed: - http://techside.net/bbsf.html - module: CustomFeed::Config - module: Filter::ResolveRelativeLink - module: Filter::Rule rule: module: Deduped compare_body: 1 # - module: Publish::Debug - module: Publish::Gmail config: mailto: このメールアドレスは、スパムロボットから保護されています。アドレスを確認するにはJavaScriptを有効にして下さい mailfrom: このメールアドレスは、スパムロボットから保護されています。アドレスを確認するにはJavaScriptを有効にして下さい mailroute: via: sendmail host: /usr/sbin/sendmail |
assets作成
取得したサイトごとに、設定ファイルを記述してあげる必要がある。
techsideの場合は以下のようになる。
| $ mkdir /usr/lib/perl5/site_perl/5.8.6/Plagger/assets/plugins/CustomFeed-Config $ cd /usr/lib/perl5/site_perl/5.8.6/Plagger/assets/plugins/CustomFeed-Config $ vim techside.yaml author: labs.zsrv.net match: http://techside\.net/ extract: <A href="(.*?)">[\x{25bc}|\x{25a0}]</A>(.*?)(<br|<tr) extract_capture: link body |
メモ
techsideの場合、文字コードが違うためなのかextractに日本語を書いても
(今回▼と■でマッチさせたかった)マッチできなかった。
初めてのYAMLということもあって、どうすればよくわからなかったが、
Publish::Debugにすることによって、どういうデータが流れてきているかが
解った。
Publish::Debugにしてデータを見てみると、▼と■が以下で扱われている
ことがわかった。
▼->\x{25bc}
■->\x{25a0}
参考:
http://d.hatena.ne.jp/toshi123/20060911#p1
| < 前 | 次 > |
|---|


