• ベストアンサー

RSSの取得方法

RSSの取得方法 お世話になります。 掲題の件なのですが、ブログなどのRSSを取得→XMLを解析しそれを 自サイトに表示なんてことが可能だと思うのですが、 『アーカイブ』や『当月のカレンダー』などのデータはどのようにして取得 すればよいのか、もし方法などお分かりでしたらご教授頂ければ と思います。 ※ちなみにブログはアメブロです。 以上、ご教授のほど宜しくお願い申し上げます。

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

  • ベストアンサー
  • pnck
  • ベストアンサー率90% (9/10)
回答No.1

RSSで提供されていないデータが欲しいということならば、 自分でHTMLを解析して取得するしかないのではないでしょうか? どのようなデータが実際に欲しいのかは、分かりかねますが、 例えばアーカイブデータで、 2010 9月  3日 タイトル名   本文・・・  1日 タイトル名   本文・・・ 2010 8月  30日 タイトル名   本文・・・ というようなデータが欲しい場合、 トップページのHTMLソースから、 アーカイブページの月別リンク先URLと2010年9月などの文字列を抽出し、 リンク先のHTMLソースから、日付、タイトル、本文を抽出します。 あとは抽出したデータを好きなように出力します。 多くのブログはソースに一定の規則があるので、抽出は容易だと思います。 HTMLの解析には、DOM、SimpleXML、正規表現など色々方法はあると思います。 この方法でサイトアクセス毎に毎回アメブロにアクセスして、 ソースを取得するのは効率が悪いので、 (特にアーカイブが多い場合、レスポンスがなかなか返ってこなかったり) 数時間に1回だけデータを取得、キャッシュしておいて、 キャッシュデータを使用するのがいいと思います。

kuro_10
質問者

お礼

お返事遅くなりまして申し訳ございませんでした。m(__)m やはりHTMLを解析するしか方法はないですよね。 分かりやすいご説明、誠に有難うございました。 PHPで解析(正規表現)しようと思いますので、キャッシュの利用には、 PHP PEARライブラリのCache_Liteを利用しようと思います。 この度は誠に有難うございました。

関連するQ&A

専門家に質問してみよう