現在はバージョン1.33が公開されています。
RSSファイルを参照し、オリジナルのリーダーを作成してみます。
RSSの解説は、RSSによるサイトの情報の要約と公開を参考にしました。
このモジュールは、ローカルに保存したファイルのタイムスタンプを比較し、無駄なトラフィックを回避しているそうです。
使用したXML::RSSモジュールのバージョンは1.12でした。
Perlのバージョンが5.8では、インストールされていません。
動作確認を行ったXML::RSSのバージョンは1.12です。最新版は確認しておりません。
インストール方法
CPANからインストール
以下のように、パッケージを直接指定しなければなりません。
CPANでインストールすると、バージョンは1.32です。
cpan install S/SH/SHLOMIF/XML-RSS-1.32.tar.gz
ppmでインストール
モジュール名の指定でインストールできます。
ppmでインストールすると、バージョンは1.12です。
ppm install XML-RSS
サンプル
http://search.cpan.orgのRSS
構文
#!/perl/bin/perl
use strict;
use XML::RSS;
use LWP::Simple;
# RSSファイルのURL
my $url = 'http://search.cpan.org/uploads.rdf';
# 保存ファイルパス
my $file = './rss';
# RSS更新確認(ここで$fileが最新になる)
mirror( $url, $file );
# RSSのパース
my $rss = new XML::RSS;
$rss -> parsefile( $file );
# HTMLの出力開始
print qq|Content-type: text/html\n\n|;
# channnelタグ出力
my $channel = $rss -> {'channel'};
printf( qq|<html>\n<head>\n\t<title>RSS - %s</title>\n</head>\n<body>\n|,
$channel -> {'title'},
);
printf( qq|<h1><a href="%s">%s</a></h1>\n<p>%s</p>\n|,
$channel -> {'link'},
$channel -> {'title'},
$channel -> {'description'},
);
# imageタグ出力
my $image = $rss -> {'image'};
printf( qq|<p><a href="%s"><img src="%s" alt="%s" align="right"></a></p>\n|,
$image -> {'link'},
$image -> {'url'},
$image -> {'title'},
);
# itemタグ出力
print qq|<dl>\n|;
foreach my $item ( @{$rss -> {'items'}} ){
printf( qq|\t<dt><a href="%s">%s</a></dt>\n\t<dd>%s</dd>\n|,
$item->{'link'},
$item->{'title'},
$item->{'description'},
);
}
print qq|</dl>\n|;
# HTMLの出力終了
print qq|</body>\n</html>|;
exit;
更新履歴
- 2008-08-31
- バージョン1.33公開の追記
- 2008-04-04
- サイト移動に伴うHTMLの修正(旧URI:[廃止])
- 2007-07-31
- PHPのXML_RSSとあわせるための細かな修正
- 2007-07-30
- 公開