CustomFeed::yhara RSSフィード

2007-04-08

[] Shiro 01:25  [http://practical-scheme.net/wiliki/wiliki.cgi?Shiro:title] - CustomFeed::yhara を含むブックマーク はてなブックマーク -  [http://practical-scheme.net/wiliki/wiliki.cgi?Shiro:title] - CustomFeed::yhara  [http://practical-scheme.net/wiliki/wiliki.cgi?Shiro:title] - CustomFeed::yhara のブックマークコメント

Shiroさんの日記CC

(5/13修正 日付とタイトルの取り方が間違ってた)

# http://practical-scheme.net/wiliki/wiliki.cgi?Shiro
author: yhara
match: http://practical-scheme.net/wiliki/wiliki.cgi\?Shiro
extract: <strong>\((\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \w{3}) ?(.*?)\)</strong\n>((?:(?!<strong>|<hr /><div align="right">).)*)
extract_capture: date title body
extract_after_hook:  $data->{title} = $data->{date} unless $data->{title}; $data->{link} = "http://practical-scheme.net/wiliki/wiliki.cgi?Shiro";

(以下古いやつ)

# http://practical-scheme.net/wiliki/wiliki.cgi?Shiro
author: yhara
match: http://practical-scheme.net/wiliki/wiliki.cgi\?Shiro
extract: <strong>\((\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} .*?)\)</strong\n>((?:(?!<strong>|<hr /><div align="right">).)*)
extract_capture: date body
extract_after_hook:  $data->{title} = $data->{date}; $data->{link} = "http://practical-scheme.net/wiliki/wiliki.cgi?Shiro";

ハワイ時間もちゃんと扱ってくれるのがPlaggerクオリティ

普通にやるとタイトルが入らないので (※なんでだろう?extract_titleに失敗している?)、手動で設定してください。

例:

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://practical-scheme.net/wiliki/wiliki.cgi?Shiro
          title: Shiro

  - module: CustomFeed::Config

2007-04-07

[] beatmania神の動画まとめサイト 00:18  beatmania神の動画まとめサイト - CustomFeed::yhara を含むブックマーク はてなブックマーク -  beatmania神の動画まとめサイト - CustomFeed::yhara  beatmania神の動画まとめサイト - CustomFeed::yhara のブックマークコメント

# http://bmmovie.hp.infoseek.co.jp/
author: yhara
match: http://bmmovie.hp.infoseek.co.jp/top.html
extract: (\d+)/(\d+)(?:<BR>\n)+((?:(?!\d+\/\d+|<!--Infoseek Analyzer).)*)
extract_capture: m d body
extract_after_hook: $data->{date} = Plagger::Date->new(year => Plagger::Date->now->year, month => $data->{m}, day => $data->{d}); $data->{title} = "$data->
{m}/$data->{d}"; $data->{link} = "http://bmmovie.hp.infoseek.co.jp/"; $data->{body} =~ s/(<BR>\n)+\z//;

改行が多いので、エントリ前後の空行は弾くようにした。

時刻の生成が汚い。がどうするもんか良くわからん。

[] bm terminus 00:20  bm terminus - CustomFeed::yhara を含むブックマーク はてなブックマーク -  bm terminus - CustomFeed::yhara  bm terminus - CustomFeed::yhara のブックマークコメント

1記事1エントリなのでEFTでできるかと思ったら、

Plagger::Plugin::Aggregator::Simple [info] Fetch http://bmt.cc/
Plagger::Cache [debug] Cache HIT: Aggregator-Simple|http://bmt.cc/
Plagger::Plugin::Aggregator::Simple [debug] 200: http://bmt.cc/
Plagger::Plugin::Aggregator::Simple [error] http://bmt.cc/
Plagger [error] http://bmt.cc/ is not aggregated by any aggregator

というエラーに。むう。RSS配信してないからか。

仕方がないので、[read more] 以下を諦めてCCを使うことに。

# bm terminus
author: yhara
match: http://bmt.cc/
extract: <h3 class="item"><a href="([^\"]*)">([^<]*)</a></h3>\s*<div class="itembody">((?:(?!<div class="iteminfo">).)*)
extract_capture: link title body
extract_encode: euc-jp
extract_after_hook: $data->{link} = "http://bmt.cc" . $data->{link};

最初、matchをhandleにしてて数十分悩んだ。orz