• 締切済み

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

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

みんなの回答

回答No.6

はじめまして。簡単に回答させていただきます。 jugemuの場合、フィードに含まれる画像のURLが当該サイトからの相対パスで記述されている為、汎用のリーダーやシンジケーションプログラムでは、画像の取得はほぼ不可能だと思ってもらっていいと思います。 試しにフィードから取得したデータを表示させてみました。 http://demo.mud-skipper.biz/mh/ 上記URLで表示されている通りです。 画像のURLを正しく反映させる為には、カスタマイズすれば全然OKなんですけどね。 修正版 http://demo.mud-skipper.biz/mh1/

全文を見る
すると、全ての回答が全文表示されます。
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.5

因みになんで皆コードを書いてくれないのかっていうのは そういう約束だっていうのもあるけど 読み込もうとしてるrssが何だか判らないから手が出ないというのもあるよ。 rssって簡単に言うけど http://www.google.co.jp/search?q=rss%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3&hl=ja&lr=lang_ja 形式が一杯ある。 で どこを探せば良いのかって話 ところで、画像って通常htmlでどう表示してるか判る? それはどんなファイルだか、判るよね? それとrss取得処理をしてるやつがそこをいじってる場所を探すって話になるよ

8ko8ko
質問者

お礼

回答ありがとうございます。 そうですね、RSSのバージョンやブログの種類?を書いてませんでした。 説明不足ですみません。 利用しているブログはJUGEMでRSSは1.0です。 JUGEMは画像を取り出すのに向いてませんでしょうか? HTMLはタグ打ちでやってますので、充分にわかります。 JAVAスクリプトもCGIもPHPも、フリーのソフトをデザイン、用途に合わせての改造程度なら出来ます。 でも大黒屋本舗のツールは、テキストのみの状態で現在も使用していますが、 jsRSS3.15というCGIファイルとテンプレートファイルのみなんですが、 テンプレートはデザインの為にいじりましたが CGIファイルのほうは見てみてもどこがどこだかさっぱりです。 imgで検索をかけても存在しません。 descriptionで探すと複数箇所にありますが、そこにどのように画像を解析するのかわかりません・・・。

8ko8ko
質問者

補足

お礼に入りきらなかったのでこちらに。 for('header','footer') { $RSS{$_} =~ s/#Version#/$ver/g; $RSS{$_} =~ s/#SiteTitle#/$title/g; $RSS{$_} =~ s/#SiteLink#/$link/g; $RSS{$_} =~ s/#SiteDescription#/$dsc/g; $RSS{$_} =~ s/#SiteCreator#/$cre/g; $RSS{$_} =~ s/#SiteDate#/$day/g; } for(@ENTRY) { my %entry = (); $_ =~ s|\r\n|\n|g; $_ =~ s|\r|\n|g; $_ =~ s|\n|<br />|g; if ($_ =~ m|(?:<title>(.*?)</title>)|is) { $entry{title} = $1 } if ($_ =~ m|(?:<link>(.+?)</link>)|is) { $entry{link} = $1 } elsif($_ =~ m|(?:<link.*?href="(.+?)".* />.*?)|is) { $entry{link} = $1 } if ($_ =~ m|(?:<description>(.+?)</description>)|is) { $entry{description} = $1 } elsif($_ =~ m|(?:<summary.*?>(.+?)</summary>)|is) { $entry{description} = $1 } elsif($_ =~ m|(?:<content:encoded>(.+?)</content:encoded>)|is){ $entry{description} = $1 } if ($_ =~ m|(?:<.*subject.*?>(.+?)</.*subject>)|is) { $entry{subject} = $1 } if ($_ =~ m|(?:<.*creator.*?>(.+?)</.*creator>)|is) { $entry{creator} = $1 } elsif($_ =~ m|(?:<author>.*<name>(.+?)</name>.*</author>)|is) { $entry{creator} = $1 } if ($_ =~ m|(?:<.*date.*?>(.+?)</.*date>)|is) { $entry{date} = $date = $1 } elsif($_ =~ m|(?:<.*issued.*?>(.+?)</.*issued>)|is) { $entry{date} = $date = $1 } if($entry{date} =~ m!(\d+).(\w+).(\d{4}).(\d+):(\d+):(\d+)!) #Y! { my %MON = ('Jan' => 1,'Feb' => 2,'Mar' => 3,'Apr' => 4,'May' => 5,'Jun' => 6,'Jul' => 7,'Aug' => 8,'Sep' => 9,'Oct' => 10,'Nov' => 11,'Dec' => 12); $entry{date} = sprintf("%04d%02d%02d%02d%02d%02d",$3,$MON{$2},$1,$4,$5,$6); } else { $entry{date} =~ s![+|-]\d\d:\d\d!!; $entry{date} =~ s![-|:|T]!!g; } など他にもありますが他に見た質問でこのツールはCDATA部分を読み込まないため、 画像が表示出来ないのだという記述がありました。 他に、phpなどのツールでRSSを画像ごと取り込める、というツールは全然ないんでしょうか。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • memphis
  • ベストアンサー率40% (975/2395)
回答No.4

もうちょっと調べてみました。 image要素は、RSSの記事ごとではないので使えません。 記事ごとに画像を表示するには、下記のようになっていないとダメなようです。 ・配信する側は、RSSの説明(description)に画像のアドレスを入れる。 ・受信する側は、説明の部分を解析して画像の所を抜き出します。 配信する側(ブログなど)が最初から対応している所もあれば未対応の所もあります。 受信して表示する側は、画像を表示するためにCGI(もしくはPHP)でRSSの説明部分から画像を抽出し表示するようにすればいいです。

8ko8ko
質問者

お礼

続けて回答、ありがとうございます。 そうか、ブログが対応してるかどうか、という問題もあるんですね。 利用してるブログはJUGEMです。 JUGEMはRSS1.0とATOMらしいですね。 中身がどうなってるのかはわからないです。 RSSを配信するタイプのPHP掲示板を設置しているので、そっちで出来るのかどうか試してみようかと思います。 1回見てみないことには何が何やら・・・。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • memphis
  • ベストアンサー率40% (975/2395)
回答No.3

>​http://hoge.net/index-pc.php​として表示されることになりますよね? >そうではなく、​http://hoge.net/​として表示させたいため、なんです。 index.php​を振り分けだけに使うなら、そうなりますが 振り分けして、その表示も一緒にするようにすればアドレスは同じにできます。 >RSSを取得して、タイトルや日付などにプラスして、画像も表示させることは可能でしょうか? 取得するRSSに画像URLが入っているなら、それを表示すればいいだけでは? 無い場合でも、固定で表示するのは難しくはないと思います。

8ko8ko
質問者

お礼

回答、ありがとうございます。 それを表示するやり方がわからないのです。 rssの仕様などのページを見てみると、image要素というのは大抵バナーなどに対するものだとありました。 記事の画像を参考url(​http://www.bonobos.jp/​)のように、記事が更新される時にhtmlに記事の画像も表示したいんです。 そういうツールってないんでしょうか。 大黒屋本舗のツールを自分でそういうふうに改造するのは無理だし、教えてgooの方でそういう質問を見かけましたが、解決には至りませんでした。http://oshiete1.goo.ne.jp/qa3118954.html 振り分けに関しては、おっしゃること、わかります。 ですがそういうふうに書くのは私にはできません。 振り分けに関しては聞きたいこととは外れているのでこれ限りにしてください。すみません。

全文を見る
すると、全ての回答が全文表示されます。
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.2

>という具合です。 いや、そうじゃなくて hoge.net/(index.php) これ 優先順位があって html より php が先になるように設定されてるからこそphpが呼ばれるのは判る? そんでPCだろうと携帯だろうとまず index.php を辿るわけだよね? そこから振り分けて index.html に振ったり mobile/index.html に振ったりしてるわけでしょ? これを index-pc.php だとかに振れば済む話なんじゃない? っていう事を言ってるんだけど・・・ で、画像を取り込むのは画像に関する情報をphp側だかjavascriptで<img>に変換して一緒に出してあげれば良いだけだと思うよ。 http://www.google.co.jp/search?q=rss%20%E4%BB%95%E6%A7%98%20%E7%94%BB%E5%83%8F%E6%83%85%E5%A0%B1&hl=ja&lr=lang_ja これを見なくてもrssで取り出したい画像情報がどこにあるのか判れば問題ないよ。 今使っているRSSを表示するツール(javascriptの?)で該当する出力場所をいじる事になるね。 大黒屋本舗とやらのページに行くと"表示のさせ方によってHTMLタグなどで加工"と書かれているからそういう書き換えで良いんじゃない? 因みに「じゃぁどう書き換えれば良いんだよ」は答えてあげられない。 ここはそういう約束らしいから。

8ko8ko
質問者

お礼

続けて回答、どうもありがとうございます。 >これ 優先順位があって html より php が先になるように設定されてるからこそphpが呼ばれるのは判る? わかります。.htaccessで先にindex.phpを読み込ませてから、振り分けてますから。 >これを index-pc.php だとかに振れば済む話なんじゃない? っていう事を言ってるんだけど・・・ はい、それはそうなのはわかってます。 それだと、サイトの表示アドレスが、 http://hoge.net/index-pc.phpとして表示されることになりますよね? そうではなく、http://hoge.net/として表示させたいため、なんです。 >今使っているRSSを表示するツール(javascriptの?)で該当する出力場所を ありがとうございます。このツールはcgiで作られているようで、 htmlでjavaスクリプトにて呼び出しているようです。 タグで加工、というのはテンプレートがあって、そこで表示のさせ方をやっているんですが、 出力場所、というのはそのcgiのことですよね? 残念ながらどこだかさっぱりわからないんですが、RSSで取り出したい画像に関する情報、というのは RSS(RDF?)のソースを見ればわかるんでしょうか? 教えて頂いたキーワードで少しググって見ます。ありがとうございます。 ちなみに、​参考サイトhttp://www.bonobos.jp/​はなにでやってるかわかりませんでしょうか・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

>携帯との振り分けに使ってしまっているので、 >トップページをphpにすることは出来ない ??? 振り分けた先をPHPにすればPHPでできるんじゃない?

8ko8ko
質問者

補足

回答有り難うございます。 サイトのアドレスをhttp://hoge.net/の形で表示させる為、index.phpで振り分けをしています。 パソコンの場合はhttp://hoge.net/(index.html) 携帯の場合はhttp://hoge.net/mobile/index.html という具合です。 なのでトップページをindex以外の名前で登録出来ない以上、phpをトップページで使うのは無理ですよね? 申し訳ないですが、RSS取得に関しての回答をお願い致します。m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • RSSをHTMLに貼り付けるCGI

    RSSで取得したトピックをHTMLに貼り付けるのに、現在 「大黒屋本舗」さんのjsRSSを使っています。インラインフレームを 使うのは嫌なので、このCGIを選択したのですがが、これはJavaScript で貼り付ける仕様なんですが、HTMLの読み込みが遅くなります。 インラインフレームを使わず、HTMLにRSSを貼り付けることが可能な CGI、またはPHPのフリースクリプトは無いでしょうか? ■大黒屋本舗 http://www.daikoku-ya.org/

    • 締切済み
    • CGI
  • RSSを利用してブログの記事を画像ごとHTMLの任意の場所に表示させたい

    IE7からブログなどのRSSフィードをクリックすると、記事と画像の シンプルな形で記事が表示されるようになりましたが、そんな感じで、 例えば自分のブログの最新記事1件だけをHTML内に貼り付けて別ページ として表示させたいと思っています。 色々と探してみて大黒屋本舗さんの「jsRSS」というCGIスクリプトに 辿り着きました。しかし、RSS内の画像のタグが入っているCDATA部分を 読み込まない為、画像が表示されません。「jsRSS」の設定にはCDATAの 読み込みが有効になる設定もあるのですが設定してもダメでした。 どなたか「jsRSS」を使って画像や改行等を反映させて表示させておら れる方、またはRSSをHTML内にJAVAスクリプト等で画像を含む記事を 埋め込み可能なCGIやPHPをご存知の方にご指導いただければ幸いです。

    • 締切済み
    • CGI
  • RSS受信ツールについて

    ブログ記事と画像のRSSを引っ張ってこれるよう、大黒屋本舗様の フリーソフトをダウンロードしましたが、表示したいページに'Bad Cal と記載されます。原因はなんでしょうか?詳しく教えてもらうとうれしいです。 ----------------------------------------------------------- jsRSS++ スクリプトの呼び出しを許可するサーバを列挙します 列挙したサーバ以外から呼び出すと 'Bad Call!!' となります。 と記載されています。サーバを列挙しますの意味が解りません。 大黒屋本舗様の指示通り「任意のディレクトリ 」も変更しております。 【大黒屋本舗様jsRSS++ v3.15】 http://www.daikoku-ya.org/blog/2005/12/29_1939.php

  • RSSの受信レイアウトについて

    すいません。RSS初心者です。 TypePadで作成したブログ記事の一部をRSSを使用し、最新1件目の記事と2~5件目の記事を異なったレイアウトで表示させたいのですが、 やり方がわかりません。。。 以前大黒屋本舗さんのjsRSS++ v3.15で試してみましたが、出来ませんでした。 ツールは大黒屋本舗さんものに限らず、出来るのであればそちらを利用したいと考えております。 どなたかご存知の方、教えていただければうれしいです。 お願いします。

  • RSS受信ツールについて2

    ブログ記事と画像のRSSを引っ張ってこれるよう、大黒屋本舗様の フリーソフトをダウンロードしましたが、表示したいページにBad Call!!と記載されます。 大黒屋本舗:http://www.daikoku-ya.org/blog/2005/12/29/ ----------------------------------------------------------- ファイルを別のサーバーにあげてみると、表示されました。 アップしたいサーバーはAblenetさんです。 おそらくパーミッション、Jcode.pm の呼び出しに原因があるのだと思うのですが、まったくうまくいきません。。。(泣) 何かヒントをお持ちの方がいらっしゃったら、お返事お待ちしています。

  • 取得したRSSフィードの吐き出し方【急募】

    javascript などを使わず、RSSをwebサイトに表示させる方法はありますでしょうか? 簡単にやりたい事をかきますと、 通常phpなどを使用してRSSを表示させると、 コードソースにはRSSを読みだすphpなどのタグしか表示されないです。 <***RSSを表示させる設定についてのタグ~****> <*************>~~~~</******> <!-- ここに記事が表示されます 等の文言 --> </script> しかしそれを、取得したRSSを表示させる際に自動的にページが更新されたように見せるため、 取得したRSSのタイトルなどを挿入部分に表示させたいです。 <ul> <li>記事タイトル~~~</li>  }     ・               }     ・               }--取得してきたRSSの記事タイトルなどを     ・               }  静的コードに書き出し、自動で更新 <li>記事タイトル~~~</li>  } <ul> うまく説明できませんが、やりたい事は上記のような事です。 お分かりの方、ご教授願います!

  • 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
  • xhtmlでJavaScriptを使えますか?

    rssを大黒屋本舗さんのcgi(JavaScript?)で RSS を読み込み ホームページ(index.html)に表示しています。 http://www.daikoku-ya.org/perl/jsrss.php ↑ 大黒屋本舗さん 今回携帯用サイトをxhtmlで作成しましたが、 rss情報が表示されません。 表示させるページの任意の場所に、下記のように記載して呼び出しています。 <script language="JavaScript" src="./jsRSS.cgi?url=http://www.daikoku-ya.org/atom.xml::line=10::enc=sjis::temp=jsRSS.tmp"></script> htmlではOKなのですが、xhtmlサイトではNGなのです。 xhtmlではスクリプトを呼び出すことができないのでしょうか? JavaScriptとかcgiがよくわからないので、検討違いな質問でしたら申し訳ありませんがよろしくお願いいたします。

  • RSSの取得方法

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

    • ベストアンサー
    • PHP
  • MTの記事をRSSで表示させたいのですが。。。

    すいません。MT、RSS初心者です。 MT4で作成したブログ記事を、同サーバー内のhtmlにRSSで差込表示させたいのですが、やり方がわかりません。。。 現在使用しているRSSは、大黒屋本舗さんのjsRSS++ v3.15です。 何とかフィードは完了したようですが、 「テンプレートファイルがありません」と出てしまいます。 テンプレートファイル(.tmp)はshift_jisで保存しているのですが、引数の貼り付けを行うブログ側のファイルを間違えている気がします。 MT4で吐き出したhtml、rss.xmlに貼り付けたのですが表示されません。 どなたか教えてくださいませ。