HOME > サイト作成&運営 > 覚え書き > MagpieRSS を応用すると色々出来る

RSS 購読

nJOY BLOG

ゲーム攻略サイト「nJOY(エンジョイ)」管理人のブログ

2005Apr21

MagpieRSS を応用すると色々出来る


4月11日の記事に引き続き「MagpieRSS」について。
nJOY のトップページに表示させるだけなら前回のスクリプトで満足していますが、応用すればこんな事も出来るんだというメモも兼ねて。

Uta's Dream: Magpie RSS
サンプルスクリプトを改造して日付と時間も表示出来るようにしています。
設置例として MYCOM PC WEB の RSS を読み込んでます。

Process 2: はぢめてのRSSパーサ 2
記事本文/記事概要を表示するように改造しています。

そして天気予報を表示するスクリプトを2つ。
特定の地域に関連するブログやサイトを運営していたら、重宝しそう。
  1. Log Book: RSSを利用して天気予報を表示したい
    Kenbo.net で公開されている天気予報 RSS を使う方法
  2. 賢者の贈り物: PHPでGoo天気RSSを読み込んで表示する
    こちらは Goo 天気予報 RSS を使う方法

りんりん♪てれふぉん:はてなブックマークを埋め込む方法
はてなブックマークのヘッドラインとコメントを表示する方法を紹介されています。
設置例→はてなブックマークを表示するためだけのブログ■はぶろ

それから MagpieRSS を使えば4月18日の記事で紹介した RSS 対応掲示板等と連動させて、書き込みがあった時にサイトまたはブログ上に新規投稿が表示出来たりして便利かも。
MagpieRSS とは関係ないけど、他のRSS表示用スクリプトなど(再掲含む)。

CGI や PHP が使えない場合は「埋め込み型RSSリーダー」で紹介した無料サービスを使ってみてはいかがでしょうか。

最後に RSS を提供していないウェブサイトでも勝手に RSS を生成してくれるという「MyRSS.jp」も紹介しておきます。
無料登録が必要なんでまだ試していませんが、nJOY のような静的なサイトでも自動的に RSS が生成されるのはいいですね。RSS を配信したいけど生成するすべがないなんて時に重宝しそうなサービス。

■今までの関連記事は「ぶろぐん・サイト作成に関するヒント集」にまとめてあります。

関連記事

コメント

いろいろRSSツールを試されたんですね!
とっても参考になりました。
どうもありがとうございます。(^^)/
よ?し、今度私も設置にチャレンジしてみるぞ?☆

| Eureka | URL | 2005/05/22 02:19 PM | kGAgeRG2 |

全部試したわけではないですけどね。
何個か試した中で、うちのサーバーでは MagpieRSS が動作しました。
サーバーの環境によっては動かないものもあると思いますので、
色々と試されるとよいと思いますよ。

PS. 記事を紹介していただきどうもありがとうございました。
うちの記事が少しでも参考になれば幸いです。

| CJ | URL | 2005/05/22 07:07 PM | 1vvR31fI |

はじめまして。
RSS表示をやろうと思い色々試しながらWEVサーフィンしていたらここにたどり着きました。私も「MagpieRSS 」だと上手く表示されます。
そこで画像表示と記事も全部表示させるモノを探しているのですが
どうすれば良いか分かりませんか?
もし知っていれば教えていただけないかと思い書き込みさせて頂きました。
宜しくお願い致します。
では、失礼致します。

| ひろ | URL | 2006/04/13 01:12 PM | nVDXzA5. |

RSSに記事全文および画像へのリンクが含まれていれば、「MagpieRSS」で出来るはずです。

ただわざわざそこまでして他のブログから記事をひっぱってくる必然性がないと思いますが・・・。記事全文を読みたいのならそのRSSを配信しているブログなりにアクセスすればいいわけですし。

| CJ | URL | 2006/04/13 08:57 PM | 1vvR31fI |

CJさん
はじめまして、こんにちわ!いつもモジュール等でお世話になっていました。今回は自分で試しても動かなかったMagpieRSSが動くようになり大変感激しています。どうもありがとうございました!
1つ質問なのですが、記事数を指定するにはどうすればよいのでしょうか?よろしければ手のあいた時にでも教えていただければ幸いです!よろしくお願いします。

| ks | URL | 2006/05/13 04:54 AM | VVj5uHPU |

記事数を指定する方法は色々ありますが、
foreach ($rss->items as $item ) {
の前に
$rss->items = array_slice($rss->items, 0, 5);
を追加する事で件数を制限できます。
上の例では最新5件表示になります。

| CJ | URL | 2006/05/13 10:23 AM | 1vvR31fI |

早速試してみたところうまく出来ました!
どうもありがとうございました!

| ks | URL | 2006/05/13 02:26 PM | VVj5uHPU |

はじめまして。
ksさんが質問されてる内容の続きです。
表示件数を指定するにあたり、CJさんの書かれた
$rss->items = array_slice($rss->items, 0, 5);
で私のところでも最新5件を無事表示させることができました。

ところがこの表示件数を21件以上で指定しようとした場合、
例えば30と書き込んでも、どういうわけか表示数は20件までに
なってしまいます。
20件以上の件数を表示することって不可能なのでしょうか?
それとも私の記述が間違ってるのかな?などと思いつつ、
もし何かご存知のことがありましたら、教えていただけると
大変に助かります。

| copasy | URL | 2006/07/31 06:11 AM | FfBbllL2 |

$rss->items = array_slice($rss->items, 0, 30);
という記述を追加しても最新20件分しか表示されないとしたら、その RSS には20件分の記事しか配信されていないのではないでしょうか?
いくらスクリプト側で件数を指定しても、用意されていないものはどうしようもありません。

1パック6個入りのタマゴからは10個のタマゴは取り出せないと考えてもらえればよいかと。
(パック=RSS、タマゴ=記事、タマゴの個数=記事件数)

| CJ | URL | 2006/07/31 05:53 PM | dtJ91Vfg |

CJさん、お返事ありがとうございます。
確かに幾つかの RSS 読み込みを試してみたところ、その RSS によって仮に30件分と入力していても、読み込める件数は15件だったり20件だったりとまちまちのようです。
とするとパックを用意しているのは相手方の話になるので、どうにもならなさそうですね(涙)

| copasy | URL | 2006/08/01 03:21 AM | sacwIOyM |

手っ取り早く確認するのなら、その RSS をブラウザで開いてみてください。
RSS に何件記事が格納されているか、分かるはずです。

ちなみに「nJOY BLOG」の場合、最新5件分しか配信していません。

| CJ | URL | 2006/08/01 06:11 PM | dtJ91Vfg |

ブログによって RSS の配信件数が異なることを今回初めて知りました。
と申しますか、私は自分のブログを MT3.2 で構築してるのですが、その配信数が15件までだったことも今回初めて知りました。管理画面でその数字を設定するところはないので、デフォルトが MT は15件ってことなんでしょうかね。

ちなみに私が読み込もうとしているのは「はてな RSS」の登録情報でして、MT ならば mt-config.cgi のどこかをいじって配信数を変更できそうですが、さすがに借り物なのでどうにも手の尽くしようがなさそうです(涙)

| copasy | URL | 2006/08/02 02:56 AM | G6nhYFCo |

はじめまして!
3日3晩、いろんなサイトでRSSの組み込みにチャレンジしてきたものの、難しすぎたりエラーになったりで挫折しまくってきました。
今日、寝起きでこちらにたどり着き、順序どおりにやったら無事自分のサイトにも組み込むことが出来ました!!
すっごく嬉しくて感動しています☆
本当にありがとうございました!!(; ∀ ;)(感涙)

| choco | URL | 2007/06/26 09:28 AM | Xd/Sr3oc |

はじめまして!
MagpieRSS導入成功!
日付とタイトルと要約を表示されるように設定してみました。

しかし、まだ分からないところがありまして・・・

記事毎に画像も取得して表示させる必要があるんです。
たとえば下記ページの場合ですと、どのリンクを引っ張ってきて、
どのようにしてphpに記述すればいいんでしょうか・・・
http://kenshimura.livedoor.biz/index.rdf
(勝手に使ってすいません。志村けんさんへ)


お手数おかけしますが、お教えいただければ幸いです。
よろしくお願いいたします。

| logic | URL | 2008/07/26 05:34 PM | RAppMSNY |

例の RSS1.0 から画像のアドレスを取得したいのなら、preg_match で <contend:encoded> の中を検索しましょう。
一応↓のスクリプトで完動する事を確認。

------------------------------------------------------------
<?php
require_once 'rss_fetch.inc';
$url = 'http://kenshimura.livedoor.biz/index.rdf';
$rss = fetch_rss($url);
$title = $rss->channel['title'];
echo "<h2>$title</h2>n<ul>n";
foreach ($rss->items as $item ) {
$title = $item[title];
$url = $item[link];
$img = "";
preg_match('|src="(.*?).jpg"|i', $item[content][encoded], $match);
if ($match[1]) $img = '<img src="'.$match[1].'.jpg">';
echo '<li><a href="'.$url.'">'.$title.'</a>'.$img.'</li>';
}
echo "</ul>n";
?>
------------------------------------------------------------

絵文字(GIF)まで拾ってしまわないよう JPEG のみにマッチさせています。
また文字コード変換は適宜に

| CJ | URL | 2008/07/26 08:28 PM | xnOwozF. |

CJさん。
ありがとうございます!!!
できました!
ほんと感動です!
しかもjpgだけを拾うようにして頂けているなんて。ほんと助かります!

なんとかコードを読みといてみました。
たぶんもう同じような事では、悩まないとは思います。(自信なさげ)
日々精進いたします。

ありがとうございました。

| logic | URL | 2008/07/27 01:51 AM | 6E1PB0J6 |

お役に立ててよかったです。
他のRSSでは動かない可能性もありますが、その辺は各RSSに適するよう改造してください。

| CJ | URL | 2008/07/27 03:09 PM | xnOwozF. |

初めまして。

私もCJさんの方法で画像取得できたのですが、
取り込みたいブログでは、拡張子がJPG(大文字)の場合があって
その際に取り込めないのです。

勉強不足で申し訳ないんですが、
JPGも取り込める方法ありましたら教えてください。

よろしくお願い致します!

| CJさま | URL | 2009/06/15 07:55 PM | S/VaMjGE |

> 拡張子がJPG(大文字)の場合があってその際に取り込めないのです。
2008年8月26日にコメント欄で書いた PHP スクリプトは正規表現で大文字と小文字を区別していないので、拡張子が JPG であっても動作するはずです。
取得しようとしている RSS がどんなものか分からないのであくまで想像ですが、大文字・小文字以外の部分が問題なのではないでしょうか?

| CJ | URL | 2009/06/15 08:43 PM | pAWXWe0c |

さっそくありがとうございます!

原因は分からないのですが、
表示される画像と表示されない画像があって
その違いを見比べると、jpg(表示される)とJPG(表示されない)しか見当たらず…。

あとはすべて
jpg →640pxl
JPG →長い辺が1280pxl

で撮られたもののようです。画像サイズが大きいため何かの不具合で取り込めない?

素人ですみません!
これくらいしかわかりません。

| tara | URL | 2009/06/15 08:56 PM | S/VaMjGE |

それだけの情報では何が問題なのかは分かりません。
その画像を取得しようと思っている RSS を教えていただかない事には、これ以上はちょっと無理ですね。

| CJ | URL | 2009/06/15 09:18 PM | pAWXWe0c |

taraです。先日は迅速にお返事をいただきありがとうございます。
その後、画像も含めうまく表示されるようになりました。

ところが…
ある日急にテキストも画像もすべて表示されなくなってしまいました。何も変更していないので原因がつかめずにいます。

ちなみに表示させていたRSSは私のサイトに特別に用意してもらったものです。別のRSSは普通に表示できるのですが…。

様々なサイトを巡りましたが解決できずにいます。
どのようなことが考えられるか教えていただけると幸いです。。

| tara | URL | 2009/07/28 12:44 PM | /qyig7/g |

> その後、画像も含めうまく表示されるようになりました。
後学のため、何が問題だったかぜひ教えてください。

> ある日急にテキストも画像もすべて表示されなくなってしまいました。
RSS に配信されている内容の中に何か問題を起こす要素が含まれているのでは?
例えば特殊文字をエスケープしていないとか。

| CJ | URL | 2009/07/30 11:33 PM | pAWXWe0c |

コメントする(半角1000文字まで)

Cookieに登録

最新記事

人気記事

月別アーカイブ

コメント

カテゴリー

リンク

発売スケジュール

2018/09/15

ニンテンドークラシックミニ ダブルパック 【Amazon.co.jp限定】オリジナル版『スーパーマリオブラザーズ』風説明書+オリジナル版『F-ZERO』風説明書+オリジナル壁紙 配信

2018/09/27

すばらしきこのせかい -Final Remix-(Amazon.co限定「特製スリーブケース」付)

2018/10/04

ロックマン11 運命の歯車!! コレクターズ・パッケージ amiibo同梱版 - Switch (【予約特典】『ワイリーナンバーズ・ステージ楽曲 アレンジバージョン』ダウンロード番号 同梱) 【Amazon.co.jp限定】オリジナルメタルキーホルダー(E缶アイコンデザイン) 付&オリジナルデジタル壁紙(PC・スマホ) 配信

2018/10/05

DQ11 過ぎ去りし時を求めて ブリングアーツ 主人公

2018/10/17

FINAL FANTASY IV ORIGINAL SOUNDTRACK REVIVAL DISC(映像付サントラ/Blu-ray Disc Music)

2018/10/17

ゼルダの伝説 ブレスオブザワイルド カードキャンディ (20個入) 食玩・キャンディ (ゼルダの伝説 ブレス オブ ザ ワイルド)

2018/11/08

ルイージマンション -3DS

2018/11/16

Nintendo Switch 大乱闘スマッシュブラザーズ SPECIALセット

2018/12/07

大乱闘スマッシュブラザーズ SPECIAL - Switch (【Amazon.co.jp限定】オリジナルラバーコースター 同梱)

2018/12/20

鬼武者 - Switch

2019/12/27

マリオ&ルイージRPG3 DX -3DS

2019/01/11

マリオ&ルイージRPG3 DX -3DS

2019/01/25

キングダム ハーツIII 【Amazon.co.jp限定】 オリジナルPS4用テーマ(Amazon) 配信