開発ブログ

ページメニュー

<< まねきねこのなかのひと | main | EXCELマクロ並べ替え習作 >>

カレンダー

<< August 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>

  • PHPによるRSSの取得
  • まねきねこプロジェクトのトップページに、下記2つのブログの新着記事を載せられるようにしてみました。
    1. まねきねこプロジェクト開発ブログ
      技術的な内容を考察するためのブログ

    2. なかのひと〜ぬこの人ブログ
      上記ブログに載せるような内容ではないけれど、なるべくいろんな人が楽しめるように、と書いたブログ

    以下、実装までの手順です。

    1.RSSのアドレスを確認
    まず、2つのRSSアドレスを確認します。
    1. http://blog.24th.jp/index.rdf

    2. http://yaplog.jp/nakano-neko/index1_0.rdf


    2.RSSパーサのダウンロード
    次に、RSSを取得するために、オープンソースのRSSパーサをダウンロードします。今回はMagpieRSSというものを使います。
    http://magpierss.sourceforge.net/
    圧縮がtar.gzだけど、技術関連やってる人には問題なく解凍できるでしょう。解凍したファイルは、とりあえずincludes/rssとかに入れておきます。

    3.文字コードの変換
    「rss_fetch.inc」の中で文字コードが定義されている箇所があります。「ISO-8859-1」「UTF-8」に変換、ファイルをUTF-8で保存しておきます

    あとは、以下のようなコーディングをすればOK。簡単です。
    <?php
    //rss_fetch.incのパスを指定する。
    require_once('../includes/rss/rss_fetch.inc');

    //指定するRSSは複数のRDFに対応させる
    $uri=array();
    $uri[]="http://blog.24th.jp/index.rdf";
    $uri[]="http://yaplog.jp/nakano-neko/index1_0.rdf";
    $output="";

    for($iCnt=0;$iCnt<count($uri);$iCnt++){
     if ($uri[$iCnt] != '') {
      //指定RSSからXML情報を取得する
      $rss = @fetch_rss($uri[$iCnt]);
      if ($rss != NULL) {
       //本文情報の取得
       $title = $rss->channel['title'];
       $url = $rss->channel['link'];
       $output .="<a href=¥"$url¥">$title</a>¥n";
       $output .="<ul>";
       
       //記事情報の取得(とりあえず5件までの表示)
       $num=0;
       foreach ($rss->items as $item) {
        $title = $item["title"];
        $url = $item["link"];
        $output .= "<li><a href=¥"$url¥">$title</a></li>¥n";
        $num++;if($num>=5){break;}
       }
       $output .= "</ul>¥n";
      //パーサ・エラー時
      } else {
       $output .= "parse error<br>¥n";
       $output .="<!-- can't parse this rss file ".$uri[$iCnt] . "-->";
      }
     }
    }
    echo $output;
    ?>


    制作時間はいろいろ調べてる時間を含めて30分といったところ。
    この記事を書いてる時間が一番かかってたりするかもしれませんw

| 開発関連 | 03:26 | comments(0) | trackbacks(0) |


コメント

コメントする

この記事のトラックバックURL

http://blog.24th.jp/trackback/901950