MTOSで行こう!Movable Type Open Source > MTOSをもっと便利に使うために > 便利なCGI > RSSを活用して表示する

ブログから出力されるRSSデータを読みとって自分のページ内に表示するRSS高度活用のCGI

ブログから出力されるRSSデータ(index.rdf 、atom.xml 、index.xmlなど)を読みとって自分のページ内に表示するCGIが複数ある。

とくに便利なのが
SSI利用が可能な大黒屋本舗の「RSSI.cgi
複数のRSSを1つにまとめて再出力してくれるにししふぁくとりーの「mergerss.cgi
の2つである。

そしてこの2つを組み合わせることによってとても便利な機能が実現する。

複数のブログからRSSで読み取ったデータを1つにまとめ、そのまとめたRSSの内容を時系列に並べ替え自分のホームページトップの内容にテキストとして表示させることができるのだ。

 

rssのcgi

単にRSSを表示させるCGIはほとんどがJAVAスクリプト利用のものなのでSEO効果は見込めなかったが、RSSI.cgiならSSI(サーバーサイ ドインクルード)で動くのでindex.shtml内にテキストとして表示されSEO効果が高い。しかし、複数ブログのRSSを表示させる場合は1つのブログに1つのcgiを1対1で対応させる必要がある。そのため、複数ブログのRSSを表示するときは複数の表示ブロックが必要となるし、まとめて表示ができないため時系列の表示ができなかった。

ここで、複数のブログのRSSデータの内容を時系列に並べ 替えて、1本のRSSに編集した状態でRSS出力できるCGIのmergerss.cgiとの組み合わせが効果を発揮する。mergerss.cgiは複数のブログのRSSをまとめて1つのRSS出力にすることができるのが特徴だ。

この2つを組み合わせることにより、複数ブログのRSS内容を記事ごとに時系列に並べて自分のホームページ(ブログ)に表示することが可能になる。 

2つのCGIを連動させて使う設定(RSSI.cgiとmergerss.cgi)

2つのCGIのそれぞれの使い方は、下部のそれぞれの説明を参照しただくことにして、ここではいきなり2つのCGIを組み合わせて使う方法を説明する。

rss2cgi.jpg

最小限必要なファイルだけで構成したフォルダとファイル構成
■rssフォルダ
┃┣mergerss.cgi [755]
┃┣rss.dat [666]
┃┗RSSI.cgi [755]
┣■feedフォルダ
┣■tempフォルダ
┃┗RSSI.tmp [644]
┗■XMLフォルダ
  ┣FeedPP.pm [644]
  ┗TreePP.pm [644]

必ず書き換えないと作動しないファイルは、rss.dat(新規作成)とRSSI.cgiの2つである。
書き方の例は以下のとおり。 

rss.datの書き方の例
#RDF
%UTF-8
@show
http://www.tohda.jp/atom.xml
http://tohdamikio.com/index.rdf
http://www.domo-domo.com/index.xml
~以下読みたいRSSファイルを列挙する

RSSI.cgiの書き方の例(変更が必要な部分のみの抜粋)
my @callfrom = (                # 呼び出しを許可するサーバ名を '~','~',と列挙する
'http://www.tohda.com/',
'http://www.domo-domo.com/'
);
my $CR = 'no';                  # 下部のスクリプト名(+リンク)の表示
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
# デフォルト設定 (引数渡しをしない場合のデフォルトオプション)
my $def_url  = 'http://www.tohda.com/cgi-bin/rssi/mergerss.cgi?rss.dat'; # 読み込むRSSのURL
my $def_line = 10;                   # 表示件数
my $def_enc  = 'utf8';               # 表示ページの文字コード('utf8','euc','jis','sjis')
my $def_tlen = 0;                   # タイトルの文字数 ( 0 で全て表示)
my $def_len  = 100;                   # 概要の文字数 ( 0 で全て表示)
 

rss.datは新規作成で、RSSI.cgiは必ず書き換えないと作動しない。
逆にいえばこの2つのファイルの設定さえやれば、とりあえず作動するはずだ。

CGIの設定が完了すれば、表示させるページ(index.shtml)の任意の場所に
<!--#exec cmd="./RSSI.cgi" -->
というタグを埋め込むだけでよい。
SSIが効くかどうかは各自が使っているサーバによるので注意が必要です。
さくらインターネットの場合はindex.shtmlならSSIの利用はOKとなる。
(※index.htmlではないので注意すること、htmlの前にsがついています

作動しているサンプル
遠田ドットコム
http://tohda.com/
▼遠田の関連サイトよりrss表示」の下部がこの2つのCGIを連携させて表示している箇所です。


SSI利用が可能な 大黒屋本舗の「RSSI.cgi」

設置方法は、大黒屋本舗の
RSSI.cgi」からプログラムをダウンロードし解凍し、rssi.cgiをテキストエディタで編集し、FTPで自分のサーバにアップロードする。

#!/usr/bin/perl
perlのパス:サーバ環境にあわせて書き換えて下さい

use Jcode;
Jcode.pm の呼び出し:サーバに Jcode.pm がインストールされていればこのままにしてください
インストールでなく FTP 等で追加アップロードした場合は
require './パス/Jcode.pm';
のようにして呼び出してください
my $SSIcall = 'cmd';
SSIで呼び出す方法
呼び出し方法が '#exec cmd' か '#exec cgi' かで 'cmd'、'cgi' を指定して下さい
my $dir = 'feed';
feedデータ保存ディレクトリ:任意に変更して下さい
mmy $check = 60;
更新間隔(分):任意に変更して下さい
読み込む RSS の最終更新時間が設定時間以内ならば
サーバローカルに保存してあるデータを読み込みます
my $TimeZone = +9;
設置するサーバのタイムゾーンです
GMTに対しての数字なので、日本にあるサーバなら +9のままで大丈夫です

my $dir_temp = 'temp';
テンプレート設置ディレクトリ:任意に変更して下さい
my $def_temp = 'RSSI.tmp';
デフォルトテンプレート名:テンプレートを指定しなかった際に使用するテンプレートを指定します

my $CDATA = 'cut';
<![CDATA[ ]]>を削除する場合は 'cut' にして下さい
'cut' 以外は<![CDATA[ ]]>タグが有効になります
my $HTMLTAG = 'cut';
html のタグを削除する場合は 'cut'、無効化は 'off' にしてください
'cut','off' 以外はタグがそのまま出力されます

my @callfrom = (
'http://www.daikoku-ya.org/',
'http://127.0.0.1/',
);

jsRSS++ スクリプトの呼び出しを許可するサーバを列挙します
列挙したサーバ以外から呼び出すと 'Bad Call!!' となります 

複数のRSSを1つにまとめて再出力してくれる にししふぁくとりーの「mergerss.cgi」

 こちらも設置がすめば動作方法は簡単。設置方法は、にししふぁくとりーのmergerss.cgiからプログラムをダウンロードし解凍し、サンプルデータを参考にrss.datをテキストエディタで作成し、FTPで自分のサーバにアップロードする。

rss.datの書き方の例

#RDF
%UTF-8
@show
http://www.example.com/feeds/rss.xml
http://www.example.com/feeds/atom.xml

くわしくはそれぞれの作者のホームページを参照ください。

ブログから出力されるRSSデータを読みとって自分のページ内に表示するRSS高度活用のCGIMTOSで行こう!Movable Type Open Source

フェイスブックの「いいね」はいいですね。

はてなブックマーク:  遠田幹雄中小企業診断士ブログはてなブックマーク数  遠田幹雄中小企業診断士ブログはてなブックマーク  遠田幹雄中小企業診断士ブログはてなブックマーク  ヤフーブックマーク: Yahoo!ブックマークに登録  user ドモドモ[TOP]

株式会社ドモドモコーポレーション


株式会社ドモドモコーポレーション
〒929-1171 石川県かほく市木津ロ64-1 電話076-285-8058 IP電話:050-1462-8058
遠田幹雄 経済産業大臣登録 中小企業診断士#301227 ITコーディネータ#0026162002C
※事務所所在地は地図上で金沢市北部のかほく市JR横山駅近く、
 石川県庁からクルマで約30分北上したところです。
 【ドモドモコーポレーションへのご案内地図】
 よろしく、どもども、ドモドモ。 count


         

MTOSで行こう!のコンテンツ

MTOSで行こう![TOP]
 ※SEOに強いカスタマイズデータを利用した導入方法は【MTOS導入ステップ】をご覧ください

遠田幹雄の予定表

遠田幹雄の予定は【Googleカレンダー】で表示しています。
遠田幹雄のスケジュール表はグーグルカレンダーで
※ログインすると予定をご覧いただけます。
※遠田幹雄の公式ブログ 遠田幹雄です。どもども、ドモドモ(^^)v 中小企業診断士ブログは、ほぼ毎日更新しています。遠田の近況はブログでご確認おねがいします。

お問い合わせ

メールでの問合せはこちらから
ご意見/ご感想はSSL対応の
メールフォームからどうぞ

業務経歴書のご請求

業務経歴書の体裁、実際にはA4で5ページです。
遠田幹雄の業務経歴書の請求はこちら
のメールフォームからどうぞ

それぞれSSLのフォームになっています。

遠田幹雄
代表者のグーグルプラスは「 遠田幹雄(Google+) 」です。

株式会社ドモドモコーポレーション
株式会社ドモドモコーポレーションの企業としての公式サイトは株式会社ドモドモコーポレーションdm2.co.jpです。

ソーシャルブックマーク

はてなブックマーク:サイト全体  はてなブックマーク数
MTOSで行こう!  MTOSで行こう!  はてなブックマーク  ブログはてなブックマーク
ヤフーブックマーク: Yahoo!ブックマークに登録 user
MTOSで行こう!Movable Type Open Source
このサイト「MTOSで行こう!Movable Type Open Source」のフィードを取得する。
atom atom.xmlを取得
RSS RSS1.0を取得
※フィード(Feed)とは、ブログやニュースサイトなどのウェブサイトのコンテンツ概要を配信用に加工した文書のこと。代表的なフォーマットとしてはRSSやAtomがある。
株式会社ドモドモコーポレーション 〒929-1171 石川県かほく市木津ロ64-1 電話076-285-8058 IP電話:050-1462-8058
copyright ドモドモコーポレーション by 中小企業診断士ブログの遠田幹雄 since 2000/10/10 ©