• ベストアンサー

プロキシ経由でRSSのデータをCSVに変換するものを作成したい

Perl5.6を使っております。 use XML::RSS; モジュールの利用を考えております。 プロキシ経由でRSSのデータをCSVに変換するものを作成しようと考えております。 何か良いサンプルは有るのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#9662
noname#9662
回答No.2

プロクシ経由で・・・は、LWPでアクセスできます。 use LWP::UserAgent; $ua = LWP::UserAgent->new; $ua->proxy('http' => 'http://proxy.myorg.com'); $req = HTTP::Request->new('GET',"http://www.perl.com"); $res = $ua->request($req); die "http connect error." if(! $res->is_success); $rss_text = $res->content; 後はXML::RSSに放り込んでやって下さい。 $rss = new XML::RSS; $rss->parse($rss_text); foreach my $item ( @{$rss->{items}} ){ print "$item->{link},$item->{title}\n"; }

参考URL:
http://allabout.co.jp/career/cgiperl/closeup/CU20050131A/index2.htm

その他の回答 (1)

  • hikomin
  • ベストアンサー率63% (40/63)
回答No.1

XML::RSSでRSSをパースすると、内容は構造体となってインスタンス内に生成されています。どんな風になっているかは、ダンプしてみれば分かります。 -- use XML::RSS; use Data::Dumper; my $rss = new XML:RSS; # rssをセット。SOCKET等で取ってきてももちろんOK open my $fh, '< rss.xml'; my $text = join undef, <$fh>; close $fh; # rssをパース $rss->parse($text); # ひとまず中見を知る為にダンプしてみる print Data::Dumper->Dump([$rss]); -- あとは適当にアクセスすれば良いわけです。例えば、itemsからタイトルとURLを取り出してCSVとして加工してみるなら、 -- foreach my $item ( @{$rss->{items}} ){ my $title = $item->{title}; my $link = $item->{link}; print "$title,$link¥n"; } -- とか。 参考は、ありきたりですがCPANのドキュメントにしておきます。(今読んでみたら、上と同じ事が書いてありました。うっかりしてました。)

参考URL:
http://search.cpan.org/~kellan/XML-RSS-1.05/lib/RSS.pm

関連するQ&A