サンプルをダウンロード(80KB)
このサンプルを使用するためには,LWPライブラリおよびXMLライブラリの「RSS」が必要です.事前にインストールをしておいてください.
1. RSSをパースする
XML::RSS モジュールを使用します.
生成したXML::RSSインスタンスのparseメソッドを実行します.
my $source = get("http://xxx/xxx.rss"); # $source へ内容の読み込み
my $rss = new XML::RSS; # XML::RSSインスタンスの生成
$rss->parse($source); # パースの実行
このサンプルではchannel およびitemの基本的な項目(title, link, description)および,Dateを取得しています.同様の方法で,他の要素を取得することも可能です.先述のUTF-8ヘッダを取り除いて出力します.
$feed = $rss->{'channel'}; # channel要素を取り込み
conv_encoding($feed->{'title'}); # title要素の取り出し
conv_encoding($feed->{'link'}); # link要素の取り出し
XML::RSSオブジェクトのitems配列に格納されています.
順番はRSSの順番と同じになります.
foreach my $items (@{$rss->items}){
conv_encoding($item->{'title'}); # title要素の取り出し
conv_encoding($item->{'link'}); # link要素の取り出し