Data2RSS++
各種データファイルを読み込み、RSS1.0、RSS2.0、Atomに変換します
対応しているデータは
・行内のデータ項目が一意の文字列(',','<>'、タブ等)で区切られている
・各行は改行文字で区切られている
・キャプション、その他のデータ以外の項目はデータ行より前にあり
データ行には混在していない
の条件を満たすデータならほぼ変換できます(たぶん)
Data2RSS++ v0.1b
・ExcelのCSVデータを変換
CSVからRSS1.0へ(EUC-JP)
・KENT WEBさんのYYBBSによる掲示板のログを変換
掲示板ログからRSS2.0へ(Shift_JIS)
・2apes.comさんのapeboardによる掲示板のログを変換
掲示板ログからAtomへ(UTF-8)
※KENT WEBさん、2apes.comさんはサンプル用に掲示板スクリプトをお借りしただけで
Data2RSS++ には一切関わりありません
※変換サンプルをブラウザで表示させる為、テストモードで表示しています
以下のファイルをダウンロードして下さい
data2rss0_1b.zip(3.1KB)
以下の箇所を各自の環境に合わせて修正して下さい
# データ元の掲示板やサイトに関する設定
my %bbs = (
サイト、掲示板のURLを指定してください
サイト、掲示板のタイトルを指定してください
サイト、掲示板の概要を指定してください
サイト、掲示板の管理人を指定してください
);
# データファイルに関する設定
my %data = (
データファイルのパスを指定してください
パスは相対パスかフルパスになります
データ行の前にある概要、コメント等の行数を指定してください
1行目からデータ行が始まっている場合は 0
行内の各データの区切り文字を指定してください
タブ区切りは "\\t" となります(環境によって t の前は バックスラッシ or 半角の¥ になります)
日付データの形式を指定してください
年 => y
月 => m
日 => d
時 => H
分 => M
秒 => S
で桁数分を埋めてください ('2006/03/04' なら 'yyyy/mm/dd')
※曜日その他で上の6つの文字が使用されている場合は
その部分を x などで文字数分埋めてください('2006/03/04 (Sat)' なら 'yyyy/mm/dd (xat)' 等)
※例外として、エポック秒('1141474898'等の10桁の数字)
で日時が保存されている場合は 'EPOC' と指定して下さい
);
# ファイル内の各行のデータに関する設定
my %field = (
日付項目の行内での順番を指定してください
タイトル項目の行内での順番を指定してください
カテゴリー項目の行内での順番を指定してください
概要項目の行内での順番を指定してください
名前項目の行内での順番を指定してください
本文項目の行内での順番を指定してください
リンクURL項目の行内での順番を指定してください
※各順番は1からになります(0始まりではない)
);
# 出力するRSS(Atom)に関する設定
my %rss = (
出力RSSのバージョンのデフォルトを指定してください ('1.0','2.0','atom')
出力RSSの文字コードのデフォルトを指定してください ('utf8','euc','jis','sjis')
出力RSSの件数のデフォルトを指定してください
出力RSSの各件の概要の最大文字数を指定してください
);
CGIが実行可能な任意のディレクトリにアップロードして下さい
任意のディレクトリ ---- data2rss.cgi(755など)
※()内はパーミッション ※御利用のサーバに因って変わる場合があります
呼び出す際は
となります
RSSの出力に関してはデフォルト以外に呼び出し時にも指定できます
e=utf8 (文字コード指定)
v=atom (バージョン指定)
l=10 (件数指定)
これらをスクリプトに '?' を付けた後に '&' で挟んで続けます
例)Shift_JIS、RSS2.0、20行の場合
また、動作確認用に 'm=test' を付けるとブラウザ上にプレーンテキストで表示出来ます
用途が限定されている割りには指定する項目が多いかも知れません
一応、汎用性を持たせる為です・・・
特に日付フォーマットの指定が面倒かも知れません
全部データ内はEPOCにしてくれればいいのに・・・
使用頻度の高そうな掲示板として YYBBS と apeboard をサンプルにしました
他の掲示板等ではちょっと試していないので
いろいろ試して頂けると嬉しいです
ちなみに、データに関する設定は
YYBBS
'file' => './yybbs/yylog.cgi',
'skip' => 1,
'separater' => "<>",
'date' => 'yyyy/mm/dd(xxx) HH:MM',
);
my %field = (
'date' => 3,
'title' => 6,
'category' => ,
'description' => ,
'name' => 4,
'content' => 7,
'link' => ,
);
apeboard
'file' => './apbd/apeboard.dat',
'skip' => 1,
'separater' => ",",
'date' => 'yyyy/mm/dd(xxx) HH:MM',
);
my %field = (
'date' => 5,
'title' => 7,
'category' => ,
'description' => ,
'name' => 2,
'content' => 8,
'link' => ,
);
となっています
※パスは適宜変えてください
- v0.1b 2006.03.04 公開




接続人々