ニュース記事を取得するJavaScriptプログラム

武田です。
新入生の皆さん、入学おめでとうございます!(4/7はひたちなか情報電子専門学院の入学式でした)
今回もやはりプログラムを紹介します。
今書いているブログ記事もニュースですよね。誰も彼もニュースは好きです。そんなニュース記事を取得してくれるGoogle Feed APIというライブラリを紹介します。

イメージ
googleFeedAPI

ニュースサイトやブログなどを閲覧していると「RSS」なる言葉に出くわしたことはありませんか?ボタンで言うと

rss

こんなボタンです。時々見かけます。
そんなときはクリックしてみてください。
ブラウザのURL欄に表示されるRSSのURLは、そのサイトの更新情報を提供してくれています。
このURLを使ってGoogle Feed APIに受け渡すとJavascriptのみで色々な情報を取り出すことができます。ぜひ使いましょう。

サンプルを作りました。(わたしがよく見ているGIGAZINEのRSS情報にアクセスします)
こちら

プログラムはこんな感じです。

HTML部分

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Google Feed APIのテスト</title>
<link rel="stylesheet" href="mystyle.css">
<!-- 
参考サイト
	https://developers.google.com/feed/v1/devguide?hl=ja
 -->
<script src="http://www.google.com/jsapi"></script>
<script src="getFeed.js"></script>

</head>
<body>
 
<h1>Google Feed APIのテスト</h1>
 
<div id="feedContent"></div>
 
</body>
</html>

JavaScript部分

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

function initialize(){
	var url = "http://feed.rssad.jp/rss/gigazine/rss_2.0";	// 取得したいフィードURL(ニュースサイトなどでRSSボタンを押すと出てくるURL)
	var num = 5;		//フィードを読み込む数
	var feedContent = document.getElementById("feedContent");
	url = url + "?" + (new Date()).getTime();		// Googleのサーバのキャッシュは古い情報のためダミークエリ(?23419847のような文字列)を追加する
 	console.log(url);
 	
 	var html ="";
 	var feed = new google.feeds.Feed(url);
 	feed.setNumEntries(num);
 	feed.load(function(result){
		if (!result.error) {
			for (var i=0; i<result.feed.entries.length; i++){
				var entry = result.feed.entries[i];
				var title = entry.title;			// 記事のタイトル
				var content = entry.content;	// 記事の要約(提供されていない場合も多い)
				var link = entry.link;			// 記事へのリンク
				var date = new Date(entry.publishedDate);	// 記事の更新日時
				
				html += "<dl>";
				html += "<dt><a href='" + link + "' target='_blank'>" + title + "</a></dt>";
				html += "<dd>" + content + "</dd>";
				html += "<dd class='date'>" + date + "</dd>";
				html += "</dl>";
			}
			feedContent.innerHTML = html;
		}
		else{
			alert(result.error.code + ":" + result.error.message);
		}
	});
}

google.setOnLoadCallback(initialize);

行目のURLを書き換えてみると他のブログやニュースサイトの情報にアクセスできます。
今度このAPIを使ってニュース記事取得アプリを作ってみようと思います。
ではまた。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です