RSS配信

WebページのRSS配信 その5

2007年02月10日
いよいよpingコマンドをサーバーに送信します。

あまり頻繁に送ると、spamになったら困るので、必要最小限になるように工夫します。

pingサーバーに送信するxmlを作成します。サイト名、更新日時、更新箇所をxmlで記述します。

この情報をUTF-8にエンコード(文字コード変換)し、pingサーバーに送信です。

成功しても失敗してもpingサーバーから返答があるので表示して確認します。

pingサーバーに送信するxmlは、昨日紹介した、
http://www.pahoo.org/e-soul/webtech/php02/php02-13-01.shtm

http://linux.ohwada.jp/modules/xfsection/article.php?articleid=298
に載っています。

OKという返事が返ってきて、送信には成功したようなのですが、RSS配信サイトに表示されない。なんで??

時間をおいて確認。登録されています。どうやら成功のようです。

RSS配信

WebページのRSS配信 その4

2007年02月09日
さてRSSファイルができたので、いよいよpingサーバーにpingコマンドを送信します。

PHPでコマンドボタンを表示し、クリックしたらPHPからpingを送信する方向で進めます。

これまた、pingの送信方法がわからない&Webでなかなか見つからない。探すのが一番の苦労です。

こうすればいいよという情報はいくつか見つけたのですが、このファイルもダウンロードして使ってねというファイルがリンク切れでダウンロードできない。他の記事ではそのファイルにバグがあるとの情報も。

Webの海を嫌というほど溺れたあと、やっと見つけました。
http://www.pahoo.org/e-soul/webtech/php02/php02-13-01.shtm

知っていれば少し調べれば分かることなんでしょうけど、この当りの知識が余りないので、苦労します。でも、勉強にもなりますね。

明日はいよいよpingを送信します。

RSS配信

WebページのRSS配信 その3

2007年02月08日
RSS配信に戻ります。

RSSを配信するためには、まず、更新情報をxml形式でファイルに出力します。このxml形式が大きく3種類あるのです。RSS1.0、RSS2.0、ATOMです。

どれを出力すればいいのか調べたのですが、どれでも同じようです。RSSリーダーが3つのパターンに対応するので、どの形式でも大丈夫なようです。でも、これからのことを考えて、3種類全部出力してみることにしました。仕様さえわかれば少し形式が違うだけのはずです。

Webで仕様を調べ始めたのですが、なかなかわかりやすいサイトが見つからず苦労しました。コーディングより苦労した・・ 結局一番割りやすかったのが、いかにも翻訳機を通したような和訳のサイトでした。

RSS1.0
RSS2.0
ATOM

でも和訳があるから助かります。技術英語だから読めないことはないけど、スピードが違うもの。
この仕様に沿って、ファイルを出力していきます。

あと、OpenSpaceも参考になります。

RSSの構造をチェックしてくれるサイトもあります。
feedAnalyzer

RSS配信

WebページのRSS配信 その2

2007年02月07日
さて、RSSファイルを出力しようと思っていたのですが、ちょっと寄り道をします。

RSSを配信する前に、このブログのRSSをWebに取り込んでいる部分のプログラムを書き換えます。

PHPの関数を調べていたら、とっても便利な物を見つけたからです。
xml_parser_create
xml_parse_into_struct
を使えば、xmlの様に構造を持ったファイルの内容を、配列で取得できます。

こんな便利な関数があったなんて。今までやっていたことが馬鹿みたいです。

書き換えてみると、安定して動作する上、早い。やっぱりね~。

いままでは動作が遅かったので、RSSの必要な部分だけあらかじめファイルに書き出し、同じサーバー上においていました。でも早くなったのでアクセスがあるたび毎回RSSを読みにいきます。
これでブログを更新すれば、同時にWebのブログ更新情報も変わります。

こうしてできたのが、できることから コツコツとです。

気になっていた部分が思っていた形に出来上がり、すっきりしました。

RSS配信

WebページのRSS配信 その1

2007年02月06日
こないだからずっとコーディング(プログラミング)してます。

目標はWebサイトのRSS配信です。Blogでは大抵標準装備ですが、普通のWebでは自分で配信しないといけません。

まず、どうやって更新情報を取ってくるかが問題です。1ページずつhtmlファイルになっていて、更新日、更新内容がファイルから取ってこれるのならファイルを1つ1つチェックしていく方法もあります。
でも、今触っているサイトはphpとDBを組み合わせて、動的に表示しているので、ファイルから情報を取ってくるのは無理です。多分。というか私には無理。

そこで、どうせトップページに更新情報を表示するので、これを利用することにしました。

更新情報テーブル
 更新日時(Webに更新を公開する日時)
 更新内容
 商品コード
 登録日時
 更新日時

商品テーブル
 商品コード
 商品名
  ・
  ・
 登録日時
 更新日時
 
とし、商品コードで紐つければ更新情報は簡単に取ってこれます。

あとはRSS形式に出力すればファイルは出来上がりです。

しかし、RSSには大きく3つの仕様があり、この仕様に少々悩むことに・・・
これはまた明日。