- ベストアンサー
拡張子がrdfでRSSを取得するには
- 拡張子がrdfの画面からRSSを取得する方法について紹介します。
- 具体的な方法は以下のソースコードを参考にしてください。
- ただし、この方法ではタイトルと本文のみが表示されます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
なるほど、理解しました。 Magpieをお使いなんですね。 原因は配信されているフィードの拡張子の問題ではなく、そのフィードのバージョンが原因だと思います。 MagpieRSSは2005年で開発が終わっているようなので、公式サイトを見る限り、RSS0.9と1.0にしか対応してないようです。 また、http://hyuki.com/yukiwiki/wiki.cgi?MagpieRSS を見ると、10サイトのフィードでテストしたが、3つしか正しく表示できなかったとの意見もあります。 もし、対象としているサイトが複数のフィードを配信しているのならば、それ全てで試してみるのが良いと思います。
その他の回答 (2)
- f206
- ベストアンサー率80% (4/5)
>Magpie以外に、RSSを取得できるツール等はないでしょうか? 検索する事をお勧めします。
お礼
連絡遅くなりました。 回答ありがとうございます。 あれから、色々調べたところ別のパターン、PEARを使用したところ 問題なく全てのRSS情報を取得できました。 ありがとうございました。
- f206
- ベストアンサー率80% (4/5)
ここでの「取得」とは何を意味しているのでしょうか? 書いてあるソースでは、ブラウザで開いた際に、タイトルに「タイトル」本文に「本文」で正解ですよ。
補足
回答ありがとうございます。 「取得」というのは、拡張子がrdfのページからRSS情報を取得する、 という意味です。 rdfではなく、普通のホームページアドレスでRSSを取得する場合はできたのですが。実行したサンプルを以下に記載します。 <?php require_once('magpierss-0.72/rss_fetch.inc'); define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); $url = 'http://www.phppro.jp/news/rss.php'; $rss = fetch_rss($url); $title = $rss->channel['title']; echo "<h1>$title</h1>\n"; echo "<dl>\n"; foreach ($rss->items as $item ) { $title = $item['title']; $link = $item['link']; $desc = $item['description']; echo "<dt><a href=\"$link\">$title</a></dt>\n"; echo "<dd>$desc</dd>\n"; } echo "</dl>\n"; ?> 以上よろしくお願いします。
補足
遅くなりました。 回答ありがとうございます。 Magpieで実際実行してみたのですが、全部は表示できませんでした。 タイトル、に関してだけは取得できたのですが。 Magpie以外に、RSSを取得できるツール等はないでしょうか? 宜しくお願いします。