----
use FindBin::libs;
use strict;
use utf8;
use Encode;
use LWP::Simple;
use XML::RSS;
my $url = "http://rss.dailynews.yahoo.co.jp/fc/rss.xml";
my $document = LWP::Simple::get($url)
or die "cannot get content from $url";
my $rss = XML::RSS->new;
$rss->parse($document);
for (@{$rss->{items}}) {
print encode('shift-JIS', $_->{title}), "\n";
}
----
yahooのRSSから、タイトル部分のみをコマンドプロンプトに表示させます。
復習のためにも、1行目から見てみます。
use FindBin::libs;
これはCPANのモジュール。
ファイルパスを一生懸命探してくれるツールみたいです。
use strict;
これもperlを使うならぜひ利用したほうがいいもの。
初めて勉強しました。
use utf8;
文字コードを指定します。
use Encode;
エンコードを使うので、useで指定。
use LWP::Simple;
use XML::RSS;
両方ともCPANのモジュール
RSSを利用したり、HTTPコンテンツを扱うためにuseで指定します。
my $url = "http://rss.dailynews.yahoo.co.jp/fc/rss.xml";
URLの変数を作って、その中に取得したいRSSのURLを指定
my $document = LWP::Simple::get($url)
URLをゲットしてきてdocumentに保存します。
or die "cannot get content from $url";
もし出来なかったら、「cannot get content from $url」を表示させて終了!
my $rss = XML::RSS->new;
RSSのインスタンス変数を作ります。
$rss->parse($document);
取得して保存したdocumentをパースして$rssに保存。
for (@{$rss->{items}}) {
コンテンツがあるまで繰り返します。
print encode('shift-JIS', $_->{title}), "\n";
タイトルの部分をシフトジスで表示!
}
以上でプログラムの終了です。
print encode('shift-JIS', $_->{title}), "\n";
ここの文字コードを変えることで、文字化けしたり、
文字化けを修正できたりしました。
0 件のコメント:
コメントを投稿