オンライン ニュース ペーパーの RSS フィードから特殊な用語を抽出する作業を行っています。URL のダウンロードには XML::RSS::Parser と LWP::UserAgent を使用しています。cpan からのコピーペーストを実質的に使用しているにもかかわらず、動作させることができません: http://search.cpan.org/~tima/XML-RSS-Parser-1.02/Parser.pm# $feed-%3Erss_namespace_uri . 私はいつも同じエラーを受け取ります:「GetRss.pl 行 25 の未定義の値でメソッド "rss_namespace_uri" を呼び出せません」。私はすべてを試しました... LWP::Simple と XML::RSS::Parser で同じ問題があり、FileHandle を使用して管理しましたが、複数のサイトからフィードを取得し、配列。これは私のコードです:
#!/usr/bin/perl -w
use strict;
use XML::RSS::Parser;
use URI;
use LWP::UserAgent;
use Data::Dumper;
my $ua = LWP::UserAgent->new;
$ua->agent('XML::RSS::Parser Test Script');
my @places=( 'http://www.timaoutloud.org/xml/index.rdf' );
my $p = new XML::RSS::Parser;
foreach my $place ( @places ) {
# retreive feed
my $url=URI->new($place);
my $req=HTTP::Request->new;
$req->method('GET');
$req->uri($url);
my $feed = $p->parse($ua->request($req)->content);
# output some values
my $title = XML::RSS::Parser->ns_qualify('title',$feed->rss_namespace_uri);
print $feed->channel->type.": ".$feed->channel->element($title)->value."\n";
print "item count: ".$feed->item_count()."\n";
foreach my $i ( @{ $feed->items } ) {
foreach ( keys %{ $i->element } ) {
print $_.": ".$i->element($_)->value."\n";
}
print "\n";
}
# data dump of the feed to screen.
my $d = Data::Dumper->new([ $feed ]);
print $d->Dump."\n\n";
}
ありがとうございました