• ベストアンサー

RSSの表示速度に不満。

WEB上でRSSを取得できて表示が可能なのですが、 その表示速度に不満があります。 はっきりいって遅い! perlでもPHPでもやはり表示速度には 問題があるのでしょうか? 当方が利用しているRSSのリーダーのモジュールは以下、 XML::RSS です。これって解析に時間がかかるモジュールなんでしょうか?

  • Perl
  • 回答数3
  • ありがとう数0

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

  • ベストアンサー
noname#43437
noname#43437
回答No.3

とりあえず・・・ XML関係モジュールは巨大で、コンパイルが重すぎるので、 CGIで使うのはあきらめた方がよいですね。。 mod_perlのような、インタープリタ常駐環境なら、 このへん大丈夫だと思うのですが・・・ 一旦パースしたデータは、Storableを使うと、 データ構造そのまま簡単に保存したり、 読み直したりができます。 なぜかあまり使われないモジュールなのですが・・・私は 結構気に入ってます(^^

ouka666
質問者

補足

お返事ありがとぅー! ちょっとわかんない点があるのですが Storableモジュールを使うとデータ構造をそのまま 保存できるのはわかるんですが、 えっと、仮にStorableで保存したデータから 特定のキーでハッシュもしくは、配列等の処理ができるなら OKだと思います。 保存する際に、もーデータを加工しちゃって簡易データベース化しちゃうってことでしょうか? たしかにそうすればできなくないですね。 それも、ちょっとためします^_^ ホント、度々お返事ありがとうございます^^

その他の回答 (2)

noname#43437
noname#43437
回答No.2

ANo.1さんのおっしゃるとおり、 サーバー側からのRSS取得にかかる時間もありますが・・・ もう一つのポイントとして・・・ XML関係のモジュールが激重なのです。 Perlインタープリタがモジュールをロードするだけで(CPUや実行環境にもよりますが)数秒かかることがあります。重たいレンタルサーバーなんかでは使いたくないモジュール、ですね。

ouka666
質問者

補足

お返事ありがとう! XML関係のモジュールが重いっていうことは、 他のモジュール(XML関係)を選択しても やっぱり重くなるってことですよね;; RSS取得にかんしては LWP::Simpleモジュールをつかって サイズからはんだんして更新していれば 一度ファイルとして保存する形をとってます。 そんで、そのファイルに対、XML::RSSモジュールで対象ファイルを解析する方法をとってるのですが、 一時的に、たとえば、取得したRSSのデータをキャッシュ上で持っておく方法とかってできるんでしょうか? 結局、中身的には、あまりたいしたことをしてはいないのですが、 複数のサイトのRSSを読み取り、それを更新順に並べ替え、 ページ判断を取り付けページ移動できるようにしてるのです。 その、実際に表示を行う際の時間がどーにもみじかくならないんです;; あるてーどやってはいるのですが、ぅーーん いまいちです;;

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

本当に解析で時間をとっているのでしょうか? 他のサイトからRSSを取得して解析しているのだとしたら、他サイトからのRSSファイルの取得に時間がかかっているのではないでしょうか? 他サイトからの取得には相手サーバとの通信を行いますから相手からの返事があるまでは待たなくてはいけない。相手サーバや通信経路が混んでいればそれだけ待たされます。(テキストファイルの解析とは桁違いの時間が必要になる。) 適当な時間が経つまではキャッシュを利用するとか、 ヘッダだけリクエストして更新時刻を見るとか(ヘッダだけでもそれなりに時間はかかる事も多いからあまり改善は期待できないかも) 工夫しだいでパフォーマンスの改善の余地はあるかも。 そんな事は充分承知で純粋にXML::RSSが遅いと感じているのでしたら駄レス失礼!

ouka666
質問者

補足

お返事ありがとう! 検証した結果、やっぱり読み込みではなく 解析部分で遅くなっているようです;; ヘッダだけリクエストする方法もいいかもしれませんね^_^ ちょっと挑戦してみます。^_^

関連するQ&A

  • XML_RSSでatomの解析はできますか

    こんにちは まったくrssを理解してないしだいです。 でも一様phpとpearのXML_RSSでrdfの取得、解析はできましたが、最近atomを知り、これも取得、解析したいと願います。 現在、友人達のブログのrdfを私のサイトに表示していますが、同じようにatomも取得解析したいのです。(なかにはatomでしか配信していないbolgもあるため。) atomの自作リーダーを作る方法はrssとどのように違うのででょうか? また、atomリーダーを作成するのに便利なサイトがあれば是非教えてください。 よろしくお願いします。

    • 締切済み
    • PHP
  • RSSリーダーに表示させないようにするには?

    FC2でブログをやろうと思うのですが、RSSリーダーに表示させないように出来ますでしょうか。 素人考えでスキンの <link rel="alternate" type="application/rss+xml" href="<%url>?xml" title="rss"> っていう部分を削除してみました。 一応私のリーダーには表示されてないみたいですけど、これで大丈夫でしょうか? わかる方がいたらよろしくお願いします。

  • RSS2.0を読み込みたいのですが。。。

    立て続けに申し訳ございません。 現在RSSリーダーを作成しているのですが、 RSS2.0のデータ読み込みをどのように行って よいかわからない状況です。 RSS1.0は下記サイトを参考にXML::RSSモジュールを使用して動作することができましたが、RSS2.0に関してはどのようなモジュール及びコードを記述してよいかわからない状況です。 サンプルコードがどこかに落ちていないかさがしましたが、見つからない状況で非常にこまっていおります。 http://allabout.co.jp/internet/cgiperl/ なにかヒントとなることでもいいのでご教授頂けないでしょうか?

    • ベストアンサー
    • Perl
  • RSSリーダーでRSSが認識しない

    自社Webサーバーにて、作成したRSSが、RSSリーダーによって認識しない場合があるのですが 原因はわかるでしょうか? 具体的には、gooのアプリ版RSSリーダーや、Opera、Firefox等のRSSリーダーでは、RSSを 認識するのですが、gooやexciteのWeb版のRSSリーダーが認識しません。 XMLの書き方に問題があると思い、検証のために認識するサイトのRSSをそのままコピーして 試してみたのですが、コピーしたRSSも認識しませんでした。 XMLに問題がないとしたら、サーバーに問題がある可能性が高いのですが、原因が分からずに 困っています。 どなたか分かる方がいましたら、教えていただけないでしょうか。よろしくお願い致します。

    • 締切済み
    • XML
  • PHPでのRSSの読み込み件数について

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

    • 締切済み
    • PHP
  • rss xmlをhtmlで表示させる。

    rss.xmlでつくったxmlファイルをhtmlで表示させたいのですが、 <link rel="alternate" type="application/rss+xml" title="RSS" href="rss/rss.xml" /> あるサイトでxmlファイル+上記のコードを<head>タグ内にいれると表示される。 と、説明が終わっているのですが、コードを打ちこんでも表示されません。 普通に考えて、これだけだとhtmlページ内のbodyのどこにxmlファイルを表示するのかも指定できてません。 質問は 1、xmlファイルが表示されないのは、何らかのコードをbody内に加えて表示する命令が無いからでしょうか。 その場合どのようなコードを打つべきでしょうか。 2、この方法がそもそも根本的に適切でないのでしょうか。 サイトで調べているとjavasqriptまたはphpによるxmlファイルの表示が多く見受けられました。 phpはまだ手が出せないのでjavasqriptの方法を取る場合、どのようなコードを使えばよいでしょうか。 というのも、サイトによってコードが異なるように感じられます。一番一般的であったり、軽くてよいコードなどがあれば教えていただきたいです。 回答よろしくお願いします。

    • 締切済み
    • XML
  • RSSと予約投稿

    現在サイトを運営しており、記事を書く機能、RSSで更新履歴を配信する機能があります。 手順としては、phpで記事htmlファイルを作成→htmlを作成したと同時にphpでrss.xmlを更新する という方法をとっています。 記事を予め書いておいて指定時刻までは表示しないようにphpで処理しているのですが、 rss.xmlは更新されているため、RSSリーダーなどにはまだ見れないはずの記事が反映されてしまいます。 望む処理としては、予約投稿した記事はRSSリーダーに反映されないようにすることです。 rss.xmlファイルの更新を指定した時間に行う、 または RSSリーダーに指定時間までは読み込ませない、 という処理が可能であれば実現可能だと思うのですが、 方法がわかりません。 ご指南をよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • プロキシ経由でRSSのデータをCSVに変換するものを作成したい

    Perl5.6を使っております。 use XML::RSS; モジュールの利用を考えております。 プロキシ経由でRSSのデータをCSVに変換するものを作成しようと考えております。 何か良いサンプルは有るのでしょうか?

    • ベストアンサー
    • Perl
  • xmlの表示が良くわかりません。

    環境は windowsxp apache2.0.52 php4.3.9です。 http://news.goo.ne.jp/news/topics/ や http://www.asahi.com/ で提供してくれているrssを自分のhpに表示したいのですが、まったくうまくいきません。 http://php.s3.to/(レッツPHP)で提供してくれているrssちぇっかーを利用してみようと思ったのですが、pearの設定や拡張モジュールの設定の仕方が悪いのか、まったく活用できません。 xmlをhtmlに表示させるコードと同じフォルダにPEAR.phpとparser.php,RSS.phpを入れてみましたがだめでした。 質問は、xmlを使用する際のPEARと必要な拡張モジュールの設定の仕方から、活用の仕方が初心者でもわかるように書かれているHPや、参考書はありませんでしょうか。 (一応、拡張モジュールについては、php.iniのなかの mb_string.dllと、php_domxml.dllの前の;は消したのですが、まずxml自体localの環境で表示してくれません。←自分で作った簡単なxmlなら表示してくれるのですが) また、もしよければ、上記のgooや朝日で提供してくれているrssを表示させられるコードを教えてはいただけませんでしょうか。(ヒントだけでもかまいません。) とても長くなってしまい、また、ピントのずれたことを書いているかもしれませんが、ほとほと参っています。どうかよろしくお願いします。

    • ベストアンサー
    • PHP
  • XML::RSSモジュールインストールなしで使うのにローカルで使用可、サーバ上でエラー

    レンタルサーバを借りてサイトを運営しております。 このたび、RSSリーダを作ろうと思い、CPANからXML::RSSモジュールを落としてきました。 いろんなサイトを見まして、標準モジュールではないのでインストールが必要と書いてあり、落胆していましたが、 あるサイトに、 ./XML/RSS/というディレクトリを掘ってその中に格納すれば使える と書いてありましたので、 ローカル(Win32)でXML/RSSと2つフォルダを作り、 そのなかにRSS.pmをいれました。 すると使えません。 で、今度は、XMLというフォルダの中に直接RSS.pmを入れて使うと、 きちんと動きました。 レンタルサーバにFTPでアップすると、 どうしても500エラーが出ます。 いろいろコメントアウトして原因を探ると、 どうもuse XML::RSSでエラーが発生しているみたいなのです。 レンタルサーバはUNIXなので、 文字コードを変えたり、パーミッションを700,755,777,705,etc...と いろいろ設定しましたが動かず、どうしていいものかわかりません。 CGIやPerlについての知識があまりないのでどうしたらよいのかも全く見当がつきません。 過去の質問も見ましたが見当たりませんでした。 なんとしてもRSSリーダを完成させたいので、 どうぞよろしくお願い申し上げます。

    • ベストアンサー
    • Perl

専門家に質問してみよう