ぱんぶろ

パンジーの「いいね!」ブログ

複数のRSSをPHPで一つにまとめて、XML形式で表示する方法。

      2016/03/27  

medium_10922459733
photo credit: ♔ Georgie R via photopin cc

どうも!パンジーです。

複数のRSSをまとめて表示するアプリを作っているんですけど、
その際に必要になるのが、複数のRSSをまとめて一つのRSSにする仕組み(サイト)です。

わざわざ自分で作らなくても一つにまとめてくれるサイトがあるので、それを使えばいいんですけど、
他の人が作ったやつだと、なんか使いづらいんですよね。

ちなみに、RSS自動生成サイトには、
⇒Chimpfeedr

⇒RSS MIX

などがあります。

自分が作った方が優れているとかそういうことでは決してなく・・・、

例えば、「一つにまとめる過程で、あの要素も付けたい。」っていう思いに駆られても、
自分のシステムじゃないから直すことができないんです・・・。

なので、自分で作ることにしました!

あと、自作とか言いつつ「他のシステムも一部使ってました。」とかだとちょっとダサいですもんね・・・。

PHPで使ったんですけど、作り方をまとめたので一度試してみてはいかがでしょうか。

↓2014年2月2日追記↓
PHPプログラムをローカル環境で確認する方法を紹介します。
超簡単!PHPプログラムをローカルで動作確認するための環境構築方法
プログラム修正⇒動作確認⇒プログラム修正として作ると効率がよくなります。

スポンサード リンク

PHPでRSSデータを作成する方法。

処理の流れとしては、
RSSは基本的には型が決まっているので、その型に合わせてまとめたRSSのデータを一つ一つ入れていくだけです。

基本的なRSSの型は、ここから参考しました。
⇒RSSのフォーマット・仕様・構造 - RSS1.0、RSS2.0、Content-Type

RSS1.0のフォーマット・仕様とRSS2.0のフォーマット・仕様が紹介されています。
続いて、複数のRSSを一つにまとめる方法(日付順)です。
私がよく使わせてもらっている”ヨメレバ”の運営者である、かん吉さんのブログに紹介されていました。
⇒複数のRSSフィードを高速でまとめる方法

ソースを追えば理解できるはずです。
ただ、同時呼び出し関数(multiRequest)は理解できなさそうだったので、ブラックボックス的に使わせてもらってます・・・。

あと戻り値がhtml形式ですけど、
私は配列型として受け取っています。
最後に、RSSの型に合わせて、PHPでデータを入れて行きます。

PHPのプログラムコードは、ここから参考させてもらいました。
⇒PHP、RSSファイルを作成する。(RSS2.0形式で作ったけど他も多分似たようなもの)

RSSを理解していて、PHPをちょっとでも使ったことある人なら、見なくても作れると思いますが・・・。
私はがっつり参考にさせてもらいました!

私の場合はXML出力じゃなくて、表示だけで良かったので、
XML上半分、XMLの記事部分、XML下半分をまとめてechoで表示しています。

といった感じですね。

まとめると、

  1. RSSの形を何となく理解する。
  2. 複数のRSSを一つにまとめる。
  3. XML形式で表示する。

といった流れです。

かん吉さんの複数のRSSを一つにまとめるソースは難しく感じる人もいるかもしれませんが、

動作を確認しながらソースを付けたり外したりすると、
だんだん意味も分かってくると思います。

RSSを一つにまとめて、自分だけのまとめサイトを作っちゃいましょう!

↓2014年2月2日追記↓
PHPプログラムをローカル環境で確認する方法を紹介します。
超簡単!PHPプログラムをローカルで動作確認するための環境構築方法
プログラム修正⇒動作確認⇒プログラム修正として作ると効率がよくなります。