tDiary のRSSのコメントを除去 - stripcomment.cgi

tDiaryRSS にはコメントも含まれていて、記事と一緒にコメントもリーダーでチェックできるので便利な場合には便利な反面、コメントスパムが付いていたり、コメントが盛り上がりまくってる日記だとコメントをオフにしたい、なんてことがあり。

コメントなしのフィードも出てるのかなと思ったけど調べるのが面倒くさかったので Hack。

#!/usr/local/bin/perl
# $Id: stripcomment.cgi,v 1.1 2005/06/04 01:55:01 naoya Exp $

use strict;
use warnings;
use CGI;
use LWP::Simple;
use XML::RSS;

my $q = CGI->new;
my $document = LWP::Simple::get($q->param('url'))
    or die "cannnot get content : $!";
my $rss = XML::RSS->new;
$rss->parse($document);

my @items = ();
for (@{$rss->{items}}) {
    next if ($_->{link} =~ m/#c/o); 
    push @items, $_;
}

$rss->{items} = \@items;

print $q->header( -type => 'application/xml');
print $rss->as_string;

Permalink に #c があったら飛ばして出来上がったリストを XML::RSS のプロパティにセットしなおすという強引なものです。エラー復帰とか全然してないけど、自分用なのでこんなもんで。