日替わり NAT’s Champloo

音楽やライブ(HM/HRやボカロなど)、旅行など、ごちゃっとした日記

JavaでRSSを処理する

NAT's Cahmplooのトップページに最近の日記のタイトルを表示しているけど、あれははてなダイアリーRSS(サイトの更新情報のデータフォーマット)を使ってます。本当はCGIとかJSPとか使って自動的に表示させると良いのだが、そういうのを使える環境にないので、自分のPCでトップページを更新してアップロードしてます。さすがに手作業は面倒くさいので、以下の処理をするバッチファイルを作って、半自動で作っている。

  1. はてなダイアリーRSSを取ってくる
  2. RSSから最近2日分のタイトルをトップページのHTMLに埋め込む
  3. トップページをアップロードする

1と2は、それ専用のJavaプログラムを書いて実現してます。3は単にWindowsFTPコマンドを使うだけ。
JavaRSSを処理するのに、オープンソースのライブラリRSS4jを使った。なぜか標準出力に変な文字列を表示したりと、ちょっと作り込みが甘いところもあるみたいだけど、結構便利。単にRSSを読み込むだけなら、以下のようなコードになる。

URL rssUrl = new URL("http://d.hatena.ne.jp/NAT/rss");
HttpURLConnection con = (HttpURLConnection)rssUrl.openConnection();
RssDocument rssDoc = RssParser.parseRss(
        new BufferedInputStream(con.getInputStream()));

あとは、RssDocumentからRssChannelやRssChannelItemを取り出して、タイトルやリンクをgetするだけ。