• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:RSSデータの読み込み方を教えてください!)

RSSデータの読み込み方とは?

このQ&Aのポイント
  • RSSデータの読み込み方とは、YahooブログのRSSを取得するための方法やgooやbiglobeブログのRSSを取得する方法を解説します。
  • 記事では、simplexmlという方法を使用して、サクッとすべてのデータを取得する方法や、ajaxを使用せずにPHPで処理する方法について解説します。
  • また、取得方法の違いによる取りこぼしの問題や20件のデータが取得できない状況についても言及します。

質問者が選んだベストアンサー

  • ベストアンサー
  • hyoro
  • ベストアンサー率71% (5/7)
回答No.1

「Magpie RSS - PHP RSS Parser」を利用してみてはいかがでしょうか。 参考URLに日本語解説があります。

参考URL:
http://www.hyuki.com/yukiwiki/wiki.cgi?MagpieRSS
dohdekka
質問者

お礼

この度はありがとうございます。m(_ _)m 参考urlを拝見しました。 スクリプトが豊富で勉強になります。 早速、利用してみましたが、何のリターンもありません。  中身では、SNOOPYを利用しているので、  検索してダウンロードしました。  開発者からは、php.iniのディレクトリー云々とありありますが、  検索すると、include_onceするだけで簡単とも書いてあります。 参考文献の事例が少ないので、このスクリプトを参考に、 改良して行こうと思います。 検索できるほど豊富な知識がなかったで大変参考になりました。 ありがとうございました。  m(_ _)m

その他の回答 (1)

  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

>> simplexmlのような方式で、サクッと全部取得できて、 >> 簡単な方法はないでしょうか? オブジェクトの構造違いを吸収するようにソフトを組めば simplexmlでも問題ないと思います。 dohdekkaが例示したコードを修正すると下記 <?php $xml=simplexml_load_file($yahoo_adrs); for($i=0;$i<=20;$i++){ if (isset($xml->channel->item[$i]->title)){ $title=$xml->channel->item[$i]->title; } else { $title=$xml->item[$i]->title; } $title=mb_convert_encoding($title,'SJIS','UTF-8'); } ?>

dohdekka
質問者

お礼

アドバイスありがとうございます...m(_ _)m 誤解を招く質問をしてしまったようです。 simplexmlで読み込めるYahooRSSは、 私も大体このような方法で取得しています。 質問をするときに一部コードを省略してしまいました。 スミマセン.... simplexmlで、Yahoo以外のブログのRSSを読み込むみ、 $xml(simplexmlの構造体)のvar_dumpをとってみると、 Array(False)が返ってきた様な覚えがあります。 原因が分らないですが、YahooブログのRSS と他のブログのRSSは、見た目以上に構造が違うようです... $fp=fopen($goo_adrs,'r'); $result=stream_get_contents($fp); fclose($fp); $parser=xml_parser_create('UTF-8'); xml_parse_into_struct($parser,$result,$value,$index); foreach($value as $a){ foreach($a as $b =>$keyb){ if($b=="tag"){ $sw=0; } if($b=="tag" AND $keyb=="TITLE"){ $sw=1; } if($sw==1 AND $b=="value"){ $title=$keyb; } } } この方法は、Yahoo以外のブログのほとんどは読み込み可能ですが、 もうちょっとスマートに行かないかなぁ..と、思いまして、 お尋ねいたしました。 只今、Magpie RSS - PHP RSS Parserを分析中です。 snoopyの置き場を何処に置けばリターンが正常に返ってくるのか、 検討中です。 フラグを立ててカウントしながらという、力技を使わないで、 せめてforeach文のネスト構造で取得できたりしたらと、問い合わせをさせて頂きました。 Magpie RSS 自体複雑なので、簡単な方法はないのではないか... ならば、今の方法でも良いのではないかと思っています。 ご意見、真にありがとうございました。 m(_ _)m