JavaでRSS/Atomを扱ってみる。
研究でRSSやAtomを扱うことになった。
ということで、Javaで扱えるライブラリはないかなと探したところ(こんな記事)がありました。
まずはROMEをダウンロードして、classpathを追加。(rome/rome-xxx.jar)
ROMEはJDOMを利用しているみたいなので、以下同様。(jdom-1.1/build/jdom.jar)
これで使えるようになったので、下のようなコードを書いてみた。
/* ** 指定されたRSSのURLからLinkを抽出するサンプル */ import java.net.*; import java.util.*; import com.sun.syndication.feed.synd.*; import com.sun.syndication.io.*; public class sample{ public static void main(String args[]){ try{ //URLのセット URL feedUrl = new URL("指定したいURL"); SyndFeedInput input = new SyndFeedInput(); SyndFeed feed = input.build(new XmlReader(feedUrl)); //リンクと更新日を抽出する for(SyndEntry entry : (List<SyndEntry>)feed.getEntries()){ System.out.println(entry.getLink()); System.out.println(entry.getPublishedDate()); } } catch(Exception e){ e.printStackTrace(); } } }
これでタグの中にあるリンク先と更新日を抽出してくれた。
なんか簡単にできた。
でもドキュメントが全部英語はきついです。