JavaScript/jQuery ニコニコ動画

【javascript】RSSを読み込んで表示させる【Google Feed API】

更新日:

スポンサードリンク

jQueryで簡単にRSSフィードを表示させる方法としてGoogleFeedAPIを利用するというのがあります。

これを使うことでRSSを動的に読み込んで表示させることが可能です。

<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

    google.load("feeds", "1");

    function initialize() {
      var feed = new google.feeds.Feed("http://fastpshb.appspot.com/feed/1/fastpshb");
      feed.load(function(result) {
        if (!result.error) {
          var container = document.getElementById("feed");
          for (var i = 0; i < result.feed.entries.length; i++) {
            var entry = result.feed.entries[i];
            var div = document.createElement("div");
            div.appendChild(document.createTextNode(entry.title));
            container.appendChild(div);
          }
        }
      });
    }
    google.setOnLoadCallback(initialize);

    </script>
  </head>
  <body>
    <div id="feed"></div>
  </body>
</html>

このサンプルは本家ページのものです。

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("feeds", "1");
</script>

冒頭に上記の記述で読み込みを行ってからgoogle.setOnLoadCallbackによってRSSの読み込みを開始します。

使用例

雑ですがこんな風に使ってみました。readFeedというのがRSSを読み込んで表示させる関数で、引数はRSSのURL、結果を出力するセレクタの文字列(jQueryを使ってます)、最大記事数としました。最大記事数はFeedクラスのsetNumEntriesメソッドで指定が可能です。setNumEntriesの詳細はページを見てください。

<script type="text/javascript">
var readFeed = function(feedurl,selector,maxlength){
    function initialize(){
        var feed = new google.feeds.Feed(feedurl);
        feed.setNumEntries(maxlength);
        feed.load(function(result) {
            if (!result.error) {
                var dst = "";
                for (var i = 0; i < result.feed.entries.length; i++) {
                    var entry = result.feed.entries[i];
                    var title = entry.title;
                    var link = entry.link;
                    var content = entry.content;
                    dst += content;
//                    var content = entry.content;
//                    var snippet = entry.contentSnippet;
//                    var publishedDate = entry.publishedDate;
//                    var category = entry.categories[0];
                    
                }
                $(selector).html(dst);
            }
        });
    }
    google.setOnLoadCallback(initialize);
}
readFeed("http://www.nicovideo.jp/ranking/fav/daily/all?rss=2.0&lang=ja-jp","#feedtest",5);
</script>

<div id="feedtest"></div>

この例ではニコニコ動画のデイリーランキングRSSを読み込んで概要(contents)を指定のセレクタに追加していっているだけです。Feedからはリンクなど色々取れるので欲しい情報だけ抽出して出力する形にしてください。

スポンサードリンク

-JavaScript/jQuery, ニコニコ動画

Copyright© めめんと , 2019 All Rights Reserved Powered by AFFINGER5.