- ベストアンサー
RSSの取得方法
RSSの取得方法 お世話になります。 掲題の件なのですが、ブログなどのRSSを取得→XMLを解析しそれを 自サイトに表示なんてことが可能だと思うのですが、 『アーカイブ』や『当月のカレンダー』などのデータはどのようにして取得 すればよいのか、もし方法などお分かりでしたらご教授頂ければ と思います。 ※ちなみにブログはアメブロです。 以上、ご教授のほど宜しくお願い申し上げます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
RSSで提供されていないデータが欲しいということならば、 自分でHTMLを解析して取得するしかないのではないでしょうか? どのようなデータが実際に欲しいのかは、分かりかねますが、 例えばアーカイブデータで、 2010 9月 3日 タイトル名 本文・・・ 1日 タイトル名 本文・・・ 2010 8月 30日 タイトル名 本文・・・ というようなデータが欲しい場合、 トップページのHTMLソースから、 アーカイブページの月別リンク先URLと2010年9月などの文字列を抽出し、 リンク先のHTMLソースから、日付、タイトル、本文を抽出します。 あとは抽出したデータを好きなように出力します。 多くのブログはソースに一定の規則があるので、抽出は容易だと思います。 HTMLの解析には、DOM、SimpleXML、正規表現など色々方法はあると思います。 この方法でサイトアクセス毎に毎回アメブロにアクセスして、 ソースを取得するのは効率が悪いので、 (特にアーカイブが多い場合、レスポンスがなかなか返ってこなかったり) 数時間に1回だけデータを取得、キャッシュしておいて、 キャッシュデータを使用するのがいいと思います。
お礼
お返事遅くなりまして申し訳ございませんでした。m(__)m やはりHTMLを解析するしか方法はないですよね。 分かりやすいご説明、誠に有難うございました。 PHPで解析(正規表現)しようと思いますので、キャッシュの利用には、 PHP PEARライブラリのCache_Liteを利用しようと思います。 この度は誠に有難うございました。