外部ブログのRSSを自サイトへ読み込み
「外部ブログのRSSを読み込み自サイトへ読み込み」ということをやってみた。やっていること自体は難しくはないが、設定関連でちょっとつまづいた。覚え書きとして。
なお、このブログ(Under the Bridge)は、CORESERVERに存在する。.htaccessやパーミッションについても触れておこう。
出力結果
ためしに、シックス・アパートの3つのRSS+ここのRSSとAtomを読み込んでみた。
Six Apart - Movable Type News
- 2008年8月7日に発表したセキュリティアップデートの正式版提供開始
- [重要] Movable Type 4.21 出荷開始
- MT4.1x とカスタムフィールドをお使いの場合は MT4.2 へのアップグレードはおまちください
- Movable Type 4.2 出荷開始
- [重要] Movable Type 4.2 RC5 とセキュリティアップデートの提供を開始
- Movable Type Developer Conference を開催します
- 重要 : Movable Type 4 セキュリティアップデートの提供を開始
- もれなく書籍プレゼント!商用CMS 3年連続1位キャンペーン実施中
- Movable Type 4.2 発表記念 プレゼントキャンペーン実施中
- Movable Type 4.2 リリース候補版 (RC) を公開
- Movable Type 4.15 ベータ4の提供を開始
- ゴールデンウィーク期間中のユーザーサポートについて
- Movable Type 4.15 ベータ3の提供を開始
- Movable Type 4.15 の公開ベータテストを開始
- 新たなパートナー制度「ProNet SOHO」を発表
Six Apart - News
- NECラーニング社が、Movable Type/Movable Type Enterprise公認トレーニングコースを開講
- アルファサード社がMovable Type 4.2に対応した『PowerCMS for MT Professional』の販売開始
- シックス・アパートが、Movable Typeを「mixi OpenID」に対応
- 株式会社GENOVAがMovable Type 4.2に対応した『GENOVACMS ver.4』の販売を開始
- シックス・アパートが、Movable Type 4.2を出荷開始
- Movable Type 4.2 出荷開始
- [重要] Movable Type 4.2 RC5 とセキュリティアップデートの提供を開始
- Movable Type Developer Conference 開催のお知らせ
- ソフトウェア開発エンジニアの募集
- マーケティング・マネジャーの募集
- ビジネス開発マネジャーの募集
- ビジネス担当スタッフの募集
- MUSIC ON! TVが番組オフィシャル・サイトにコミュニティ機能を追加
- Movable Type 4.2 リリース延期のお知らせ
- シックス・アパート、「TypePad for iPhone Application」 を日本対応
技術情報提供ブログ
- Movable Type 4.1 に関する技術情報・ドキュメント
- Movable Type 4 に関するコンテンツのご紹介
- サイドバーにアイテムリストを利用したサムネイルを表示する
- Movable Type Hack-a-thon が開催されます
- アイテム管理機能で追加された Movable Type テンプレートタグ
- ブログ記事の書き方もお好みで
- Movable Type 4 で reCAPTCHA を利用する
- Movable Type 4 の開発と、ベータテスト、オープンソースについて
- インポートの強化だけじゃない!バックアップ機能も追加された Movable Type 4
- CAPTCHA 認証機能も簡単設定可能に
- 強化された Movable Type 4 のテンプレートタグ
- Movable Type 4 でダイナミックパブリッシングを使用する
- もっと簡単になった Movable Type 4 のインストール
- コメントの返信も簡単に表示も解りやすく
- Movable Type 4 のテンプレートチェック機能で作業効率アップ!
Under the Bridge
- 日記(休息)
- 日記(でけた)
- キングオブコメディ
- 日記(スパイラルに嵌る)
- 日記(ちょっと疲れが)
- 日記(燃費がキツイな)
- 日記(引っ張るヒトの役割とか)
- 日記(辞めるのか)
- 日記(休日)
- 日記(将棋)
- 日記(ハアハア)
- MT4.2:海外からのコメントスパムに簡単に対応する
- 日記(ひたすらドキュメントを書く)
- 日記(勤務時間)
- 日記(朝は涼しいな)
必要なもの
以下のファイルが必要となった。
- rssv2.php
- RSS.php
- Parser.php
- PEAR.php
rssv.php、rssv2.phpの入手先や詳しい資料は以下サイトにある。
RSS.php、Parser.php、PEAR.phpの公式サイトは以下だ。
- http://pear.php.net/package/XML_RSS/download
- http://pear.php.net/package/XML_Parser/download
- http://pear.php.net/package/PEAR/download
ファイルの設置
以下わたしの場合(CORESERVERです)。
1:ブログの設置されている下へ、xmlという名前のディレクトリを作成。パーミッションを701とした。
2:そのxmlという名前のディレクトリへ、rssv2.php、RSS.php、Parser.php、PEAR.phpファイルを放り込む。パーミッションを604とした。
3:.htaccessファイルへ AddHandler application/x-httpd-phpcgi .php と記述。xmlディレクトリへ放り込む。→参照
4:RSSより情報を引っ張ってきて埋め込みたい箇所へ以下のように記述。以下は3サイトのRSS取得を列挙してみた。
<?php
include("http://www.apstars.com/blog/xml/rssv2.php?u=http://www.sixapart.jp/movabletype/news/index.xml");
include("http://www.apstars.com/blog/xml/rssv2.php?u=http://www.sixapart.jp/index.xml");
include("http://www.apstars.com/blog/xml/rssv2.php?u=http://www.sixapart.jp/pronet/developers/index.xml");
?>
5:再構築すればOK。
タイトルだけでいいのに、という場合。ほか
rssv2.phpを用い、タイトルだけの表示にしたい場合は、rssv2.phpの中の$descを取っ払えばOK。
というか、なるべくvalidで行きたい場合
rssv2.php改造例。チョコチョコいじってみた。タイトルのみで、ディスクリプションは撤去。
<?php
require "RSS.php";
//PEAR導入済みの場合↓
//require "XML/RSS.php";
// URL指定
$rdf = $_GET['u'];
$r =& new XML_RSS($rdf);
$r->parse();
if (!$ch = $r->getChannelInfo()) echo "データが取得でけまへん";
$site_title = mb_convert_encoding($ch['title'], "UTF-8", "auto");
$site_title = htmlspecialchars($site_title);
$site_link = $ch['link'];
// ヘッダ
echo <<<A
<h3><a href="$site_link">$site_title</a></h3>
<ul>
A;
$num = ($_GET['n']) ? $_GET['n'] : count($r->getItems());
for ($i=0; $i<$num; $i++) {
$val = $r->getItems();
$title = mb_convert_encoding(strip_tags($val[$i]['title']), "UTF-8", "UTF-8,EUC-JP,SJIS");
//$desc = mb_convert_encoding(strip_tags($val[$i]['description']), "UTF-8", "UTF-8,EUC-JP,SJIS");
$link = htmlspecialchars($val[$i]['link']);
$date = $val[$i]['dc:date'];
// 内容
echo <<<B
<li><a href="$link">$title</a></li>
B;
}
//フッタ
echo <<<C
</ul>
C;
?>
- カテゴリ:211Movable Type4
トラックバック(0)
このブログ記事を参照しているブログ一覧: 外部ブログのRSSを自サイトへ読み込み
このブログ記事に対するトラックバックURL:
- Categories
- Entries
-
- MT4.2:海外からのコメントスパムに簡単に対応する
- MT4.2 インストール
- MT4:エントリ投稿画面をホゲる実験
- MT4LP5で得たもの
- MT4LP5に参加しました
- MT4.1:mtde.info 開設しました。
- Movable Type4で、かなり気に入っていること
- Movable Type4で、かなり気に入らないこと
- MT4.1:CustomEditorButton2 プラグイン
- MT4.1:「テンプレートの編集」画面のコードスニペットを拡張する
- MT4.1:自サイト・他サイトのFeed情報を取得してリスト化(続編)
- 日記(K0、mtde、MT)
- MT4.1:自サイト・他サイトのFeed情報を取得してリスト化
- ノープラグインでカテゴリーソート(MT4.1専用版)多分に反則
- 自サイト内の特定カテゴリのRSSを出力
- MT4.1:モジュール化(雑談ですが)
- MT4.1:カテゴリリストへ代表画像を付与する(Asset系)
- MT4.1:カテゴリリスト+エントリ全展開+エントリのAsset代表画像表示
- MT4.1:イメージの幅指定で高さを自動的に計算(Asset系)
- MT4.1:MTでサポートされない演算をJavaScript関数ライブラリ化する
- MT4.1:エントリと同じタグのついた他エントリをリストアップする(自エントリを強調表示・改良版)
- エントリと同じタグのついた他エントリをリストアップする(自エントリを強調表示)
- 最新記事で使用されているタグの最新5件を表示
- MT4.1:エントリリストへ、特定カテゴリ用画像をつける
- MT4LP5
- MT4.1で乱数を取得したい場合
- ★マークでエントリ数を示すエントリリストつきカレンダー
- 横型カレンダー(素ノーマル)
- ファンキーな横置きカレンダー
- サムネイル画像エントリリストの改造(MT4.1用)
- MT4.1 ついにリリース
- 日記
- MT4.1:変数2つでの演算 (2)
- MT4.1:テンプレートタグで100までの数から素数を求める
- MT4.1:変数2つでの演算
- 日記
- MT4.1:年度タイトルつき月別アーカイブ(4月で新年度切り替え)
- MT4.1:年タイトルつき月別アーカイブ(1月で新年切り替え)
- 全カテゴリからエントリを3件ずつ表示する。キメウチ禁止
- MT4.1:カテゴリの並べ替え+表示切り替え+現カテゴリ展開+強調表示つき(カスタムフィールド+ハッシュ変数)
- MT4.1:カテゴリの並べ替え+表示切り替え(カスタムフィールド+ハッシュ変数)
- MT4.1:カテゴリの並べ替え(カスタムフィールド+ハッシュ変数)
- 日記
- MT4.1:文字列を繋げる
- MT4.1:カテゴリの並べ替え(プラグイン使わず)
- エントリと同じタグのついた記事一覧をリストアップ(3)
- あるエントリの存在するカテゴリの、サブカテゴリ内のエントリを抽出する
- 配列に対するpopとshift
- MTのテンプレートタグでFizzBuzz。
- エントリと同じカテゴリ内のエントリ一覧取得
- MT4.1:Forループ(文字列の連結)
- MT4.1:Forループ(配列中より特定のデータのインデックスを取得)
- MT4.1:Forループ(配列の並びを逆にする)
- MT4.1:Loopループ(基本形)
- MT4.1:Forループ(基本形)
- MT4.1:配列サンプル(配列の先頭・末尾からデータ取得・削除)
- MT4.1:配列サンプル(特定カテゴリの全エントリのみを配列へ代入)
- MT4.1:配列サンプル(全カテゴリを配列へ代入)
- 外部ブログのRSSを自サイトへ読み込み
- 名無しコメントに対応する
- 複数カテゴリの最新情報5件(例2)
- 複数カテゴリの最新情報5件(例1)
- カテゴリごとの表示形態を変える(多カテゴリ対応)
- 特定のカテゴリの最新エントリ5件をメインページへ表示
- 変数専用モジュールで取得したカテゴリ情報配列をほかのモジュールで使用する
- 定数・変数専用のモジュールを使う
- タグ名の全取得、配列へセット、生成文字列連結
- カテゴリ名の全取得、配列へセットする
- サムネイル画像エントリリストの改造(さらにチューン)
- サムネイル画像エントリリストの改造(OK版)
- サムネイル画像エントリリストの改造
- MT4のコメントフォーム
- 配列使ってみたテスト
- ブログ記事投稿時のタグ・キーワードとか
- 実験記事:キーワードのつけ方と概要の書き方
- デザイン小変更
- MT4書籍購入
- MT4で日本語を用いたタグクラウドがおかしい・~が出ない問題点
- 小粋な本の購入
- ちょっと気づいたこと
- MTSetVarでクリッカブルマップ
- 画像サムネイルエントリリスト(改)
- MTGetVarによるアンカーリンク
- MT3>MT4バージョンアップ時不具合
- pageを用いたナビゲーションバー
- 画像の取り扱い
- MT3サイトをMT4サイトへコンバート
- 月別アーカイブのタイトルが0000年12月となる不具合
- MT4で、エントリが再構築されないとき
- MTGetVarで文字列置換
- エントリと同じタグのついた記事一覧をリストアップ(2)
- 同一カテゴリーに属するエントリ一覧
- Folderの親子関係を調べる
- FolderLabel・FolderDescription関係調査
- カテゴリ・エントリリスト(改)
- カテゴリ・エントリリスト
- folder調査用テンプレート(1)
- トップレベルのウェブページのみ抜き出す
- ドロップダウンタグリスト
- Feed情報調査用テンプレート
- MTEntryCreatedDate
- コメント調査用テンプレート
- カテゴリ数、エントリ数、ウェブページ数の取得
- strip_tagsモデファイア
- replaceモデファイア
- regex_replaceモデファイア
- count_paragraphsモデファイア
- count_charactersモデファイア
- catモデファイア
- count_wordsモデファイア
- MTAuthor関連調査
- 画像サムネイルエントリリスト
- MTAsset関連調査(2)
- MTAsset関連調査
- カテゴリ毎に表示を変えるには?
- 強調表示付きカテゴリリスト
- MT4ライセンス購入
- MT4:Webページで生成するグローバルナヴィゲーション
- MT4:エントリと同じタグのついた記事一覧をリストアップ
- MT4:テンプレート構想変更
- MT4:beta7の生成xhtmlコード解析、ほか
- MT4:うっかりやってはいけないこと
- MT4:スタイルシートの切り替え
- MT4:モジュール化成果
- MT4:モジュール化・アルファ(本文)エリアの改造
- MT4:モジュール化・システムテンプレート
- MT4:モジュール化・ウェブページ
- MT4:モジュール化・エントリアーカイブページ
- MT4:モジュール化・カテゴリアーカイブページ
- MT4:モジュール化・アルファ(本文)エリア
- MT4:エントリについて
- MT4:モジュール化・バナーエリア
- MT4:モジュール化・ヘッダコード
- MT4:モジュール化・モジュール名の命名規則
- MT4:モジュール化・基本形改造
- MT4:XML宣言モジュール
- MT4:モジュール化・基本形
- MT4:カテゴリソート(MTCategoryLabel remove_html="1")

コメント(7)
@Style (2008年1月 6日 17:47)
.htaccessファイルは不要です。phpで動くはずですよ!
yoshi (2008年1月 6日 18:01)
>.htaccessファイルは不要です。phpで動くはずですよ!
今試したんですが、.htaccessファイルをリネームするとデータが取得されなくなります...
@Style (2008年1月 6日 18:41)
すみません。.htaccessファイルは必要でした。
php_flag allow_url_fopen on
php_flag allow_url_include on
phpのままで動きます。
yoshi (2008年1月 6日 18:48)
今試しました。
>php_flag allow_url_fopen on
>php_flag allow_url_include on
なぜか、駄目なようです。
環境の違いでしょうか...
追伸:ついったーにもポストしましたが、カスタムフィールド使ったらテスト環境がぶっ壊れました...がっくりです。
@Style (2008年1月 9日 04:00)
自分の所を調べてみたんですが、CORESERVERではRSS.php、Parser.php、PEAR.phpはアップロードする必要はないようですよ。
yoshi (2008年1月 9日 08:27)
うちはCORESERVERのs27ですが、こちらは無いと駄目(RSS.php、Parser.php、PEAR.php)のようです。単にPEARがインストールされてないのだと思いますが...。詳しく調べたわけではありません。
yukit (2008年8月29日 13:30)
画像とかも読み込めたりするのでしょうか?
コメントする