• ベストアンサー

RSSの一部分のデータのみ表示したい。

RSS形式で配信される情報があります。 日時、情報のタイトル。そして情報の内容といった感じです。 現在は、RSSを利用して、タイトルと日時だけでインデックスを作成して、タイトルをクリックするとその配信元のサーバーの持っているページへリンクするようになっていますが、2次配信的にこちらのサーバーでも内容を表示しても良い(こちらのページの様に見せて表示)という事になっていて、それを実現しようとしているのですがうまく行きません。 そもそも読み込んだRSSから特定の項目だけ抜き出して表示する事は可能なのでしょうか。また、その場合どうするのが良いのでしょうか。 構想としては、RSSの中からユニークな文字列を抜き出して、項目を特定して、それを次のページへセッションとしてURLにくっつけて、さらに遷移先ページではその文字列を元にRSSの一部を特定して表示すれば良いのかな?と思っているのですが問題はありますか?? アドバイスをお願いします。

  • PHP
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • wp_
  • ベストアンサー率54% (132/242)
回答No.2

>そもそも読み込んだRSSから特定の項目だけ抜き出して表示する事は可能なのでしょうか。また、その場合どうするのが良いのでしょうか。 回答が外れていたら申し訳ないのですが、DOMを使ってアクセスすると楽です。 Javascriptなどに慣れていればとっつきやすいかと思います。 http://jp.php.net/dom xpathなど使うと所望のデータにアクセスしやすいのではないかなぁと。

その他の回答 (1)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

RSSって結局XMLの文書だから、必要な項目だけを引っこ抜くというのは可能だよ。 RSSの読み取り先URLと取り出す項目情報をcookieに取っておいたらページ移行にも対応できると思う。 http://www.google.co.jp/search?q=rss%20%E5%8F%8E%E9%9B%86&hl=ja&lr=lang_ja 検索失敗・・・参考まで。

関連するQ&A

  • DB情報をもとにRSS作成したい

    LAMPで作成しています。 「1つのページ」がある「テーブルの1レコード」に、一対一で対応しています。 DBの内容は、 =========================================================== ユニークな文字列(GUID) サイトのカテゴリ構造を表すために、1, 1.1, 1.2,1.2.1 のようなツリー構造をあらわす文字列(これで、何階層目にあるかもわかる) ★タイトルその1(<title>と<h1>の中に表示しています) ★タイトルその2(パンクズ上の文字列・・・これは、「その他」のようなそれだけでは意味が不明な場合もある) metaのキーワード ★そのページのサマリ(半角100バイトほど。meta descripitonとし、また、bodyタグの内側に、同じ内容を表示) ★最新更新日(いまは「2011-09-07」形式にしてるが、時間や秒まで入れるようにしてもいい) charengfreq(daily,monthlyなど・・・sitemap.xmlのためのものなので不要?) 優先度(1,2,3,...10など・・・sitemap.xmlのためのものなので不要?) です。 ●今はまだないですが、「そのページをはじめたつくったときの日時」というフィールドを追加してもOKです。 =========================================================== です。 で、ここから、 第2階層(コーナー)ごとに、RSSを手動で生成したいと思っています。 いろいろぐぐったのですが、rssの各要素の意味合いがわかりづコーディングができません。 どのようにくめばいいのでしょうか? コーディング全体をお教えいただければありがたいですが、 コーディングするときのロジック(とくに、DB上の何が、RSS上の何と対応してるか) をお教えいただいて、そこから自分でくむのでもかまいません。 以上、よろしくお願い申し上げます。

    • ベストアンサー
    • PHP
  • RSSリーダーが表示されません

    gooのRSSリーダーをダウンロードしたのですが、開いても「ページを表示できません」が出てしまいます。 開くときにも「インターネットに接続していません」のメッセージがでるし……。 ツールバーは出てくるのですが「サーバーが見つかりません」の文字が……。 何度かインストールし直してみたのですが、変わりませんでした。 どうしたらいいのでしょう?

  • RSSがgoo RSSリーダーV3で表示されない

    DBの内容をRSSで出力しgoo RSSリーダーで表示しようとさせていますが、うまくいきません。具体的にはgoo RSSリーダーでRSSサイトの登録はできるのですが、選択すると上のペイン(タイトルが表示されるところ)は空白で、下のペイン(内容が表示されるところ)はxmlのソースが生で表示されます。他のRSSサイトの表示は問題ありません。(インターネット/イントラネット) 出力方法はイントラサーバーのDB(Accessファイル)からASPがデータを成形後RSSファイルを出力させるものです。(下記に出力後のソースを記入します。一部データをハイフンでおきかえています) <?xml version="1.0" encoding="Shift_JIS"?> <rss version="2.0"> <channel> <title>更新情報RSS</title> <link>http://---.html</link> <description>---をチェック</description> <language>ja</language> <pubDate>Fri,2 Feb 2007 13:49:00 +0900</pubDate> <generator>------</generator> <item> <title>タイトル1</title> <link>http://---.html</link> <description>内容紹介1</description> <pubDate>Thu,1 Feb 2007 11:39:29 +0900</pubDate> </item> <item> <title>タイトル2</title> <link>http://---.html</link> <description>内容紹介2</description> <pubDate>Thu,1 Feb 2007 11:45:29 +0900</pubDate> </item> </channel> </rss> IE6.0でソースの表示はできるのでXML構造には問題ないと思います。アドバイスよろしくお願いします。

    • 締切済み
    • XML
  • RSSの配信…どうするの???

    こんばんは。 先日から何度も質問させていただいております。 WEBサイトを作っている者です。 RSSを配信しようと思うのですが… それで、ネットで40件くらいのサイトを当たってみましたが、 リンクの仕方がさっぱりわかりません… RSSのファイル(index.rdf)というファイルは作成できて、中の文法等もあっています。 (HPビルダーのサイトサマリー機能で作りました。なので合っているはずです。) そして、WEBページのTOPページの、head内に、 <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="index.rdf"> と書きました。 ここまではあっていると思います。 次に、 <a href="index.rdf" title="Web Feed RSS2" target="_blank">RSS</a> というリンクを張りました。 そして、それをサーバーへアップして、 IE9.0でそのリンクをクリックしてみたら、RDFファイルがダウンロードされました(泣) 他のRSS配信されているサイトを見てみると、《このRSSを購読しますか?》 というページが開くのですが、自分のサイトではダウンロードされます… 何ででしょうか? 因みに、ファイヤフォックスで同じことをすると、《購読しますか?》と聞かれました。 サーバーはFC2ホームページです。 一応、RSSを配信しようとしているサイトを張っておきます。 http://wingnovel.web.fc2.com 何が違うのでしょうか? 教えてください。

    • ベストアンサー
    • HTML
  • YoutubeのRSSの読み込み、表示についての質問

    YoutubeのRSSの読み込み、表示についての質問 過去に似たようなものがありましたがかなり前のものなので新たに質問させていただきます。 現在WordpressMUを元にポータルサイト的なものをPHPの知識が殆ど無い状態で作っています。 機能の一つとして本体のTOPページにYoutubeの特定のタグの検索結果をRSSで読んで表示したいと思っているのですが 参考にさせて頂いたサイトのコードが <?php $rss = fetch_rss('rssをここに入力'); $maxitems = 1; $items = array_slice($rss->items, 0, $maxitems); if (empty($items)) echo 'No items'; else foreach ( $items as $item ) : ?> <a href="<?php echo $item['link']; ?>" title="<?php echo $item['title']; ?>" target="_blank"><?php echo $item['description']; ?></a> <?php endforeach; ?> となっておりまして、検索結果のRSSを入力すると、表示はされるのですが [description]のくくりなので余計な情報が入ってしまいます。 表示したいのはタイトルとサムネイルと時間くらいなので もっと細分化して読み込みたいのですが何かいい方法はございませんでしょうか? PHPが分かる方にとってはあまりに初歩的な質問かと思われますが どうかよろしくお願い致します。

    • ベストアンサー
    • PHP
  • RSSで配信されるページについて

    RSSで配信される情報についての質問です。 RSSが新着情報として配信するページは以下の定義でしょうか? 「RSSリーダが巡回したときに、以前はなかったページを新着として取得する」 この質問の意図としては「既に配信してある記事に対して何らかの変更が加えられた場合に、それを新着情報として配信するのか」を知ることです。ページ「追加」ではなく「更新」のときはどのような振る舞いをするんでしょうか…。もし分かる方がいれば教えてください。

  • RSSについて

    現在、seesaaブログにてRSSを配信していますが、RSSについて教えて下さい。 (1)Rss1.0と2.0について http://xn--j2r71fu9tdzd.seesaa.net/ 1.0と2.0の両方をトップページに掲載しています。2つを掲載する意味はあるのでしょうか?どちらか一つだけを掲載しておけば問題ないでしょうか?逆にソーシャルブックマークに登録しているので、両方とも消してしまって問題ないでしょうか? (2)RSSのページについて http://xn--j2r71fu9tdzd.seesaa.net/index.rdf 最近気付いたのですが、RSS1.0のページでは全ての記事内容が公開されており、ブックマークしている方はそのページのみアクセスしていることがわかりました。RSS1.0を非公開にして2.0のみ公開するのは可能でしょうか? また、RSSページにおいて記事内容を掲載しないで、更新したことを通知するのみのタイトルだけもしくは記事の最初の2,3行だけを公開したいと考えています。例えば、下記のRSSページのようにしたいのですが、どうすればいいか教えて頂けませんでしょうか? http://rss.asahi.com/f/asahi_newsheadlines 宜しくお願い致します

  • rssを使って

    現在HP上にrssリーダーを使って外部ブログからの情報を掲載しています。表示されている内容は 更新日時と記事の内容の一部のみです。 ここに画像を1枚だけ付け加えたいのですが、やり方がわからずに困っています。(自分でやったら、ブログ内の画像がすべて読み込まれました。) rssを使って外部ブログの記事にある、最初の画像だけを読み込むようにするにはどうしたら良いでしょうか?

  • RSSリーダでデータが取れるサイトの見分け方

    素人で、質問が変かも知れませんが、わかったら教えてください。RSSリーダを使うと事前に登録したWebサイトが更新されるたびに、更新情報を届けてくれる。ただ、そのWebサイトの方でも事前にRSSに情報を提供できるようにセットされていなければいけない。と理解しています(まちがいかな?)。もし、そうだとすると、以下の2つの質問があります。 (1)あるWebサイトがRSS情報を提供できるかどうかはどうやって見分けるのでしょうか? (2)更新情報をチェックする範囲はどうように決められているのでしょうか?たとえば、あるURLのサイトが1000ページだったとすると、その1000ページのどの1箇所が更新されてもRSS情報が送られてくるのでしょうか?もっと細かくページを特定することができるのでしょうか?

  • RSSをHTMLに表示するには

    掲示板にRSSを設置したのですが、 そのRSSの情報をトップページ(html)に新着投稿といった形で表示させたいのですが、 どうすれば良いのでしょうか? ご教授願いますm(_ _)m

    • 締切済み
    • XML