武田です。
新入生の皆さん、入学おめでとうございます!(4/7はひたちなか情報電子専門学院の入学式でした)
今回もやはりプログラムを紹介します。
今書いているブログ記事もニュースですよね。誰も彼もニュースは好きです。そんなニュース記事を取得してくれるGoogle Feed APIというライブラリを紹介します。
イメージ
ニュースサイトやブログなどを閲覧していると「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を使ってニュース記事取得アプリを作ってみようと思います。
ではまた。