Google AJAX Feed APIでアメーバブログのRSSフィードから「PR:」を削除して記事一覧を表示するJavascript

先日、「Google AJAX Feed APIを使って外部のRSSを読み最近の記事リストを表示するJavascript」を使用してアメーバブログのRSSを読み込み、新着5件の一覧表示を行いましたが、アメーバブログ(アメブロ)のRSSは広告(PR:○○~)というのが自動的に入り、これがすごく邪魔で困っていました。

 

そこで今回はif文を加えて「PR:」から始まるフィードは無視(省く)することにしました。

スクリプト

<script src="http://www.google.com/jsapi?key=●●あなたのAPIキー●●" type="text/javascript"></script>
<script type="text/javascript">
google.load("feeds", "1");   
function initialize()
{   
 //RSSフィードの取得
 var feed = new google.feeds.Feed("●●読み込みたいフィードのURL");  
 
 //取得するフィード数
 feed.setNumEntries(5)
 
 //実際に読む込む
 feed.load(function(result) 
 {   
  
  //読み込めたか判別
  if (!result.error)
  {
   //表示部分を選択
   var container = document.getElementById("feed");
   
   //変数の初期化
   var list = "";
   
   //Feedの処理
   for (var i = 0; i < result.feed.entries.length; i++) 
   {   
    //Feedを一つ抽出
    var entry = result.feed.entries[i];
 if(entry.title.match(/^PR:/)) {
 //「PR:」から始まるものがあれば何もしない
 }
 else{
    var div = document.createElement("li");
    var a = document.createElement("a");
    var strdate = createDateString(entry.publishedDate);
    a.href = entry.link;
             var list = entry.title + " (" + strdate + ")" ;
             a.appendChild(document.createTextNode(list));
             div.appendChild(a);
             container.appendChild(div);
              }
              }
        }
      });
   }

//日付の表示方法を変更
function createDateString(publishedDate){
 var pdate = new Date(publishedDate);
 var pday = pdate.getDate();
 var pmonth = pdate.getMonth() + 1;
 var pyear = pdate.getFullYear();
 var phour = pdate.getHours();
 var pminute = pdate.getMinutes();
 var psecond = pdate.getSeconds(); 
 //var strdate = pyear + "年" + pmonth + "月" + pday + "日" + phour + "時" + pminute + "分" + psecond + "秒";
 var strdate = pyear + "-" + pmonth + "-" + pday ;
 return strdate;
}
google.setOnLoadCallback(initialize);   
  
</script>
<!--表示結果表示する部分-->
<div id="feed"></div>
<!--表示結果表示する部分-->

 

ということで、うちの社長のアメブロフィードを読み込んで「PR:」を除いた新着情報を表示してみた。

↓↓実行結果↓↓



 

ただし、RSSに「PR:」が含まれていなければ新着5件を表示しますが、

新着5件中1件に「PR:」が含まれていた場合、フィード自体から削除して消すのではなく、省略というか、スキップしているだけなので、表示が4件になってしまいます。

それを補うスクリプトは今度チャレンジします。

 

2009/09/23追記

上記を更に改造↓

Google AJAX Feed APIで最新の記事一覧を表示する。 http://hoshiya.biz/2009/09/google-ajax-feed-api-1.html