genfeed - 汎用 RSS ジェネレータ

  http://blog.bulknews.net/cookbook/blosxom/rss/genfeed.html

  非常に便利

  このままだと title および description で日本語が通らなかったので,定義ファイルを
  EUC-JP で書くとして,サブルーチン load_site を以下のように修正.
  要は,euc-jp に変換してあげているだけ.

sub load_site {
    my($dir, $file) = @_;
    my $fh = FileHandle->new("$dir/$file") or die "$dir/$file: $!";
    my %param;
    while (<$fh>) {
        chomp;
        last if /^$/;
        /^(\S+): (.*)$/ and $param{$1} = decode("euc-jp", $2);
    }
    $param{match} = [ split / /, $param{match} ];
    $param{pattern} = decode("euc-jp", do { local $/; <$fh> });
    $param{filename} = $file;
    return \%param;
}


- 帝国データバンクの倒産情報を取得する場合の定義ファイル

title: 帝国データバンク倒産情報
link: http://www.tdb.co.jp/
crawl: http://www.tdb.co.jp/tosan/main.html
description: 帝国データバンク倒産情報
match: link title

<p><a href=(syosai/\d+?\.html)>(.*?)</a>

- やじうま Watch の場合

title: やじうま Watch
link: http://internet.watch.impress.co.jp/
crawl: http://internet.watch.impress.co.jp/static/yajiuma/
description: やじうま Watch
match: title

<P><B>■ (.*?)</B>

- hard で loxse な 日々 さんのところの場合.

title: hard で loxse な 日々
link: http://papalagi.org/diary/
description: hard で loxse な 日々
match: title

■(.*?)<br>

  参考までに以下の方法もかなり使える.

- NDO::Weblog: Template::Extract + XML::RSS でRSS 生成
  http://naoya.dyndns.org/~naoya/mt/archives/000833.html