ホーム » スタッフ » 斉藤徹 » (専攻科実験)RSSを用いた情報活用

2013年11月
« 10月   12月 »
 12
3456789
10111213141516
17181920212223
24252627282930

最近の投稿(電子情報)

アーカイブ

カテゴリー

(専攻科実験)RSSを用いた情報活用

インターネットでは、様々な情報が提供されているが、 これらの情報を効率よく見つけ出すには、労力を要する。 このため、インターネット上の情報サイトでは、 RSS(Rich Site Summary) と呼ばれる XML をベースとした、サイトの概要情報を提供している。 これらの RSS の情報は、 フィードリーダ というソフトを使うことで、 そのタイトル・概要をシンプルに表示してくれることから、 読者が興味のある記事を見つけやすくなる。

今回は、これらの RSS 形式のデータを活用するために、 自分の作成した情報の RSS データを作成したり、 一般に公開されている RSS フィードを読み込み解析し、 2次利用できるようにしたり、自分たちの使うインターネットと連動できる プログラム開発を、文字列処理の得意なプログラム言語である、Perl や PHP を用いて 作成することを目指す。

RSSと解析ライブラリ

RSSには、その発展の歴史の中から、少しづつ書式を変えながら発展してきた。 最初は、RDF と呼ばれる形式であったが、RSS 2.0 に発展する中で、 XML 形式による書式となった。 この他にも、RSS の問題点を改良した Atom 形式なども提案されている。

RSSのデータ形式は様々で、全ての形式に対応したプログラム作成は本来難しい。 しかし Perl や PHP では、便利なパーサ・ライブラリがあるので、RSSの情報の中から、 希望する情報だけを簡単に抽出することが可能となっている。

Perl で RSS 形式のデータを扱うために、今回は "XML::FeedPP"モジュールを使用する。 このライブラリは、RSS/RDF/Atom など様々な フィード形式に対応している。 XML::FeedPP の解説サイトには、データを入力・出力するなどの手続きの例が、 いくつか記載されているので、これらのサンプルプログラムを元にプログラムを作成せよ。

#!/usr/bin/perl
# 使用するモジュールを選ぶ
use XML::TreePP ; # use 文は C言語の #include みたいなもの。
use XML::FeedPP ;
# 日本語の文字コード変換モジュール
use Jcode ;
# 読み込むフィード
my $source = 'http://use.perl.org/index.rss'; # my は局所変数宣言
# RSSデータを解析し読み込ませる
my $feed = XML::FeedPP->new( $source );
# 記事全体の情報を表示
my $title = $feed->title() ;
# Jcode->new( "文字列" ) に対する変換コード(以下が利用可)
#   ->utf8 , ->unicode , ->jis , ->sjis , ->euc
print "Title: ", Jcode->new( $title )->utf8 , "\n";
print "Date: ", $feed->pubDate(), "\n";
# 個別の記事の情報を表示
foreach my $item ( $feed->get_item() ) {
print "URL: ", $item->link(), "\n";
my $title = $item->title() ;
print "Title: ", Jcode->new( $title )->utf8, "\n";
}
# foreach文は、配列要素すべてに対する処理ループを実行
# foreach $要素 ( @配列 ) { ... }

実験方法

プログラムの実験にあたり、 ファイルの編集にはファイル共有機能を使用し、 プログラムの実行にはターミナルソフト(TeraTerm)を使用する。

最初に、実験端末に TeraTerm がインストールしてなければ、 このページ先より入手し、インストールを行うこと。

サーバに接続し、プログラムを実行するには、TeraTermPro.exe を実行し、 Host:「tsaitoh.ei.fukui-nct.ac.jp /KR=UTF-8 /KT=UTF-8」, Service:SSH で接続し、 別途指定された ユーザ名 , パスワード を利用し、Login せよ。

ファイルを編集する際には、Windows 端末のファイル共有にて、 「¥¥tsaitoh.ei.fukui-nct.ac.jp¥ユーザ名」にてアクセスし、 login 画面が出たら、ユーザ名とパスワードを入力せよ。 Windows のエディタで、ファイルを編集し保存する際には、 「文字コード: UTF-8 , 行末コード: nl」を指定すること。

(( 前述の feed.pl を実行する場合 ))
$ perl feed.pl

最初の課題

上記のプログラムを動作させ、得られる結果などを確認せよ。 RSSフィードの http://…./…xml などは、Firefox などのブラウザであれば、 わかりやすいように表示をしてくれる。さらに、"ページソースを表示"などを実行すれば、 元々の XML 形式のデータを見ることもできる。

まずは、プログラムの内容などを確認したうえで、 インターネット上に掲載されている RSS フィードにどのようなものがあるか調べ、 これらの情報をどのように活用したら便利かアイデアを検討せよ。