ラベル Google AJAX Feed API の投稿を表示しています。 すべての投稿を表示
ラベル Google AJAX Feed API の投稿を表示しています。 すべての投稿を表示

2008-05-05

オートタギングAPI を使ってブログのエントリを勝手に分類してみる

BLOGRANGER TG のミニ地図を貼り付けられるブログパーツ
百式さんのブログで紹介しているのを見て、さっそく試してみました。が、残念です。このブログは収集してもらえてないようです。BLOGRANGER TG API というのが提供されているので、このブログパーツと同じようなことはできるかもしれません。
少し過去の話題にさかのぼります。上記のとおり、BLOGRANGER TG のブログパーツで、このブログのミニ地図が表示できなかったので、手始めに BLOGRANGER API の オートタギング API というのを使って、指定したブログのエントリからタグを自動推定して、そのタグごとにエントリを分類して表示するアプリケーションを作ってみました。

↓こんな感じです。タグごとにボックスを表示し、そのボックスの中に関連するエントリをリスト表示します。iGoogle っぽくしてみました。


このアプリケーションの URL は、次のとおりです。q パラメータに RSS や Atom といったブログのフィードの URL を指定してください。
http://developmentor.lrlab.to/blogranger/categorize?q=(feed URL)
次のとおり、いくつか実例を用意しましたので、参考にしてください。このアプリケーションを使うには Google Gears が必要です。前述の URL にアクセスすると、Google Gears のインストールを促すページを表示しますので、そのページの手順にしたがって、Google Gears をインストールしてください。

Google Gears をインストールして、前述の URL にアクセスすると、Google Gears を使ってよいかの許可を求めるダイアログを表示します。そのとき許可してはじめて、このアプリケーションが使えるようになります。

パラメータで指定したブログのフィードの URL から Google AJAX Feed API を使って、新しいエントリの情報を 10件ほど取得します。続けて、そのエントリのタイトルとサマリからオートタギング API を使って、タグを自動推定します。そして、エントリの情報と自動推定したタグを Google Gears のローカルデータベースに格納します。

エントリの情報と自動推定したタグは、ローカルデータベースにどんどん蓄積していきます。新しいエントリがあるかどうかは、このアプリケーションにアクセスしたとき 1度だけチェックします。また、ページ右上の更新リンクをクリックすることでもチェックできます。

ローカルデータベースの内容が多くなってくると、ページの表示が遅く重くなってきます。そのときは、ページ右上の削除リンクをクリックして、ローカルデータベースを空にしてやり直しができます。

タグのボックスとそのエントリのリストは、ローカルデータベースの内容から表示しています。タグのリンクをクリックすると、そのタグを中心とした BLOGRANGER TG の地図を表示します。このタグは、エントリから自動推定したタグと、エントリにもともと付与されていたタグの両方を使っています。エントリのリンクをクリックすると、そのエントリを表示します。

ちょっとバグっぽい印象を持つかもしれませんが、パラメータに指定するブログのフィードの URL を変更しても、ローカルデータベースでは、情報源となったブログを区別しませんので、異なる複数のブログをまとめて分類できちゃったりします。例えば、404 Blog Not Found に続けて [N]ネタフル を表示すると、その両方のエントリをまとめて分類できるということです。

2007-09-10

Google AJAX Feed API を使って最新情報ページを作る

Postal Search APIs & Solutions (本サイト) の最新情報は ブログ を通じて案内していますが、その最新情報を本サイトのコンテンツとしても案内できるように、Google AJAX Feed API を使って 最新情報 というページを作ってみました。

JavaScript コードは、次のとおりです。ブログ の Feed を取得し、その Feed の先頭から 15件分のエントリを表示しているだけです。

Google AJAX Feed API の JSON Result Format の説明には、エントリの著者を表すプロパティがありませんが、entry.author プロパティで期待どおり取得できています。
<script type="text/javascript" src="http://www.google.com/jsapi?key="></script>
<script type="text/javascript">
//<![CDATA[
google.load('feeds', '1');

// jQuery.ready
jQuery(function($) {
var feed = new google.feeds.Feed(
"http://postal-search-apis-and-solutions.blogspot.com/" +
"feeds/posts/default"
);
feed.setNumEntries(15);
feed.load(function(result) {
if (result.error)
return;
$.each(result.feed.entries, function() {
$('<h3 />')
.addClass('style6')
.text(this.title)
.appendTo('#feed');

var date = new Date(this.publishedDate);
date = date.getFullYear()
+ '年'
+ (date.getMonth() + 1)
+ '月'
+ date.getDate()
+ '日';

$('<p />')
.addClass('style3')
.addClass('small')
.addClass('bold')
.text(' by ' + this.author + ' ' + date)
.appendTo('#feed');

$('<div />')
.html(this.content)
.appendTo('#feed');
});
});
});
//]]>
</script>

<div id="feed"></div>
本サイトでは Feed2JS を使ってブログの最新情報を表示している箇所があるのですが、いろいろ自由に加工できる Google AJAX Feed API に置き換えることにします。

Web開発者のためのRSS & AtomフィードWeb開発者のためのRSS & Atomフィード
ベン ハンマースリー Ben Hammersley 菅野 良二

詳解RSS~RSSを利用したサービスの理論と実践 XML Hacks―エキスパートのためのデータ処理テクニック RSSマーケティング・ガイド 動き始めたWeb2.0ビジネス JavaScript & DHTMLクックブック―Webエキスパート必携テクニック集 Life Hacks PRESS ~デジタル世代の「カイゼン」術~

by G-Tools