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://qwerty.work/2009/09/google-ajax-feed-api-1.php

