• 締切済み

PHPでのRSSの読み込み件数について

普通はRSSは、表示される件数は決まっていると思うのですが、 その件数以上にブログの記事のタイトルなどを読み込みたいのです。 たとえば http://e0166.blog89.fc2.com/?xml というRSSだと、15件までしか表示されませんが、 16件目をPHPで取得したいです。 Google Readerだと、16件以上も読み込んでくれるのですが。。。 HTMLを読み込むしかないのでしょうか? また、そのときのアドバイスなどもください。

みんなの回答

回答No.1

実際にどのように動いているかは分かりませんが、 恐らく、GoogleReaderは、登録ユーザが誰か一人でもRSS受信させたら、 それを共有のデータベースに登録して、 他の誰かが画面を表示したときに誰かが見た登録済みの過去のエントリを表示させているのではないかなと思います。 なので、もしやるとしたら、RSSデータを一度ローカルに保存して、エントリが増えるたびにためていく必要があるのではないでしょうか。 手法としては、 ・fsockopenなどで、httpヘッダを取得 ・httpヘッダのLast-Modified部分を取得 ・以前データベースにためていたらデータベースから最終更新日を比較する。 ・日付が動いていたら、file_get_contentsなりなんなりでRSS(xmlデータ)をローカルにダウンロード ・ダウンロードしたRSSをご利用のパーサでパース ・データベースにためる 後は、cronなり自動実行プログラムにて定期的にスクリプトを走らせれば少なくとも初回実行時より後のデータは全て取得することが出来ると思います。

moco03
質問者

お礼

なるほど!そうすれば、RSSだけで読み込めますね! ありがとうございました。

関連するQ&A

専門家に質問してみよう