• 締切済み

指定したRSSを全文取得したい

RSSからのデータ取得について、教えてください。 現在、指定したサイトの本文をRSSから全文取得する、という処理を PHPで行いたいと思っています。 RSSの情報を取得して、データを取得するところまでは SimplePieを使って上手く出来たのですが、 そもそもRSSに設定されている「description」の値が全文になっていないことで、 処理の仕方に困っています。 RSSを取得したいのは、主にwordpressとアメブロなのですが、 自分で管理しているものもあれば、自分で設定ができないものもあります。 (もちろん、サイト運営者に許可は得た上で取得を行っています) wordpress側でRSSの設定を「全文取得」にしても 全文がRSSに設定されていないものもあったりして(バージョンやテンプレの違い?)、 色々と苦戦しているところなのですが、 何か解決策はあるのでしょうか? wordpress側で何かプラグインを使えば設定が出来るのか、 PHP側でライブラリが存在するのか、 RSSの全文化ツールのようなものがあるのか・・・ 何かお知恵を貸していただけるとありがたいです。 よろしくお願いします!

  • PHP
  • 回答数1
  • ありがとう数6

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5082/13279)
回答No.1

descriptionに全文が入っている保証は無いので、linkに書かれているURLにアクセスしてページから抜き取るしかないんじゃないでしょうか。

関連するQ&A

  • PHPで一部サイトからRSS情報を取得できない

    PHPを使用して、他のサイトからRSS情報を取得し、 DBにデータを格納する、というような処理をするバッチを作成しています。 SimplePieという無料のライブラリを使用し、 下記のようなファンクションを作成しました。 /* ================= * * RSS情報を最大5件取得 * =================*/ function get_rss_info($feed_url) { // 戻り値 $rss_list = array(); // RSSデータを取得 $feed = new SimplePie(); $feed -> enable_cache(false); $feed -> set_feed_url($feed_url); $feed -> init(); $feed->handle_content_type(); // 過去記事を最大5記事まで取得 $feedItems = $feed -> get_items(0, 5); foreach($feedItems as $item) { // ※自作クラスです $rss = new RSS(); $rss->rss_id = $item -> get_id(); $rss->rss_title = $item -> get_title(); $rss->published_date = $item -> get_date('Y/m/d H:i:s'); $rss->rss_url = $item -> get_permalink(); $rss->rss_text = $item -> get_description(); array_push($rss_list, $rss); } return $rss_list; } 上記のファンクションで、アメブロなどのRSS情報は取得できますし、 一部WordPressサイトのRSS情報も問題なく取得することが出来ました。 しかし、一部のWordPressサイトでは、上記のファンクションを通しても 1つもRSS情報を取得することが出来ず、 配列も空のままで返却されてしまっております。 Feedlyなどの外部サービスで情報が取得できているので、 私のプログラムが悪いのだとは思っているのですが・・・ 自分なりに調査をしてみたのですが、 全く糸口を掴むことができませんでした。 お知恵を貸していただければと思います。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • RSSの取得方法

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

    • ベストアンサー
    • PHP
  • RSSを取得したいのですが

    下記サイトを参考に、以下のコードを埋め込んだのですが、 http://plaza.rakuten.co.jp/kemusiro/diary/200601150000/ 日付が (1970/01/01 00:00:00) と表示された上に文字化けしてしまいます。 MagpieRSSはmagpierss-0.72.tar.gzから必要ファイルを、index.phpの下におきました。 正常に表示させるためには、どう直せばよいでしょうか? <?php require_once('magpierss/rss_fetch.inc'); define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); $count = 5; $length = 60; $url = 'http://api.plaza.rakuten.ne.jp/kemusiro/rss/'; $rss = fetch_rss($url); echo "<ul>"; array_splice($rss->items, $count); foreach ($rss->items as $item) { $href = $item['link']; $title = mb_convert_encoding($item['title'], "SJIS", "auto"); $date = date('Y/m/d H:i:s', parse_w3cdtf($item['dc']['date'])); $description = mb_convert_encoding($item['description'], "SJIS", "auto"); if (mb_strlen($description) > $length) { $description = mb_strcut($description, 0, $length) . "..."; } echo "<li>"; echo "<FONT color=\"#ff8040\">(" . $date . ")</FONT> "; echo "<a href=$href>" . $title . "</a><BR>"; echo $description . "</li>"; } echo "</ul>"; ?>

    • 締切済み
    • PHP
  • RSSからカテゴリー一覧を取得

    PHPで開発しています。 blogなどで設定されているそのサイトのカテゴリー一覧をrssから取得 する方法はあるでしょうか?

    • 締切済み
    • PHP
  • PHPを使ってRSSコードから画像取得をしたい

    PHP初心者です。 PHPを使ってRSSコードから画像取得をしたいと考えていますが、 <content:encoded>や<description>以外の要素を見て抜き出すことはできないのでしょうか? 例えばこのRSSコード内の http://ch.nicovideo.jp/kindan-nama/live?rss=2.0 <nicoch:live_thumbnail>の要素を見て http://live.nicovideo.jp/thumb/175454.jpg ↑この画像を取得することはできないのでしょうか? 調べているうちにRSSは全ての情報を提供してくれているわけではないということは分かってきましたが、 RSSコードを見てどこからどこまでが提供されているのかが分からず... 何卒よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 他サイトのRSSフィードを指定した「キーワードが含まれるフィードのみ」

    他サイトのRSSフィードを指定した「キーワードが含まれるフィードのみ」wordpress(ワードプレス)に表示させたいと考えております。 ネットで調べてみたところ、http://www.moondakota.com/feed/index_s.php(RSS FeedをJavascriptでウェブページに表示 (ベータ版))という素晴らしいサイトを見つけたのですが、残念ながら「指定したキーワードが含まれるフィードのみ」には対応していないようでした。 wordpressの記事やページにて表示させたいと考えておりますので、javascriptでなくてもOKなのですが、有料・無料は問いませんので、そのようなプログラムやプラグインを、教えて下さい。

  • wordpressでrss取得の仕組み

    自分が作成したwordpressサイトのrssを取得し、同ドメイン内の静的HPに組み込む際の仕組みがどうなっているか教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • RSS URL 取得 判定

    PHPを使って、webサイトのURLからRSSのURLを取得したいと考えています。 curlなどを使って、RSS自体を取得するという意味ではなく、指定されたサイトのRSSの”URL”を取得したいです。 単純に正規表現などでlink要素をチェックして取得することもできますが、その方法だとlink要素などにRSSの情報を記載していないサイトなどからは取得することが出来ません。 100%とまではいかなくても、出来る限り確実な方法でRSSのURLを取得することはできないでしょうか?

    • ベストアンサー
    • PHP
  • RSSについて教えてください

    RSSとは更新情報を自動的に受け取る機能だということは知っています。 ブログ(アメブロ)を書いている側(更新する側)にとって、更新したことをその都度知らせたくないのですが、そういう設定はできるのでしょうか? よろしくお願いいたします。

  • RSS取得の際に画像も取得したいのです。

    初めて質問させて頂きます。 これがPHPに限った質問なのかどうかもよくわかりませんが、どうかお願い致します。 自サイトに、レンタルブログのRSSを取得して更新を知らせたいと思っています。 大黒屋本舗さんのJAVAスクリプトなどを使ったことはあるのですが、 読み込むデータに画像を取得させることは不可能なのでしょうか? 調べても、キーワードが悪いのかヒットしません。 RSSを取得して、タイトルや日付などにプラスして、画像も表示させることは可能でしょうか?こういうふうにしたいんです。→右下のダイアリーhttp://www.bonobos.jp/ ここは取得するのがPHPなのかJAVAスクリプトなのか全然わかりませんが、index.htmlで表示出来ている、というのがミソです(私的に)phpは携帯との振り分けに使ってしまっているので、トップページをphpにすることは出来ないからです。 どうやってやればいいのでしょう?そういったスクリプトってないですか? 私は既存のスクリプトを多少改造出来る程度でほぼプログラミングはわかりません。 板違いでしたら申し訳ありません。 どうか、宜しくお願いします。m(_ _)m

    • 締切済み
    • PHP

専門家に質問してみよう