具体例で学ぶ!情報可視化のテクニック

第5回 はてなブックマークの可視化(前編)

この記事を読むのに必要な時間:およそ 4 分

はじめに

今回からは,これまで学んできた「階層的クラスタリング」「ツリーマップ」の手法を活用して,はてなブックマークの人気エントリーの可視化に挑戦します。まずデータの準備段階として,はてなブックマークが提供するWeb APIにアクセスし,人気エントリーの情報を取得するプログラムを作成します。

ソースコードのダウンロード

今回作成するプログラムのソースコードは,こちらから一括してダウンロードすることができます。ZIPファイルを展開して生成されるフォルダを,プロジェクトとしてNetBeansに読み込むことも可能です。

はてなブックマークのAPI

はてなブックマークには,数種類の開発者向けAPIが用意されています。これらのAPIを利用すると,はてなブックマークから様々な情報を取り出すことができます。本連載では,人気エントリーのRSSフィードとエントリー情報取得APIを組み合わせて使用します。

人気エントリーのRSSフィード

はてなブックマークには人気エントリーのページがありますが,このページの内容はRSSフィード形式でも提供されています。RSSフィードをプログラムから読み込むと,最新の人気エントリーの一覧を取得することができます。

エントリー情報取得API

エントリー情報取得APIを使用すると,特定のブックマークエントリーに対して,ユーザーが付与したタグやコメントなどの詳細情報を,JSON形式で取得することができます。APIの詳細な仕様は,はてなのドキュメントを参照してください。

今回のプログラムではまず,人気エントリーのRSSフィードを解析します。次に,RSSフィードから得られた個々のURLを引数として,エントリー情報取得APIを呼び出し,エントリーのタグ情報を取得します。

ライブラリのダウンロード

RSSフィードやJSON形式のデータをJavaから扱う場合は,外部ライブラリが必要になります。今回は,RSSフィードの解析にROMEとそのサブプロジェクトであるROME FetcherJSONの読み込みにJSON-libを利用することにします。また今回は,URLからのデータの読み込みを容易にするため,Commons IOを使用します。

ROME FetcherとJSON-libは以下のライブラリに依存しており,プログラムを実行する際にはこれらも合わせて必要になります。

ROME Fetcherの依存ライブラリ
JSON-libの依存ライブラリ

各プロジェクトサイトからバイナリファイルをダウンロードして展開し,JARファイルをクラスパスに追加します。最終的に,今回のプログラムのコンパイルと実行に必要なJARファイルは以下となります。

  • commons-beanutils-1.8.0.jar
  • commons-collections-3.2.1.jar
  • commons-io-1.4.jar
  • commons-lang-2.4.jar
  • commons-logging-1.1.1.jar
  • ezmorph-1.0.5.jar
  • jdom.jar
  • json-lib-2.2.2-jdk15.jar
  • rome-1.0RC1.jar
  • rome-fetcher-0.9.jar

著者プロフィール

浜本階生(はまもとかいせい)

1981年生まれ。栃木県出身。東京工業大学情報工学科卒業。技術やアイデアの組み合わせから面白いソフトウェアを生み出したいと日々考えている。現在,ブログの解析および視覚化の試みとして「TopHatenar」「Blogopolis」を開発,運用中。

URLhttp://d.hatena.ne.jp/kaiseh/

コメント

コメントの記入