JsoupでRSSのパース処理 - java
外部のRSSフィードをパースすることになって、 ROME や informa やライブラリなしの方法を試してみたけど、 どの方法もめんどくさくていきついたのが Jsoup。maven使ってパースするまでのメモ。
準備
いつものようにpom.xmlに記述。
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.7.3</version>
</dependency>
パース処理
こんなに簡単
// URLから直接Document取得
Document doc = Jsoup.connect("http://hoge").get();
// リストになってる要素を指定
for (Element element : doc.select("item")) {
System.out.println(element.select("title").first().text());
System.out.println(element.select("link").first().text());
// HTMLタグ除去も簡単
Element content = element.select("content").first().text();
Jsoup.parse(element.select("content|encoded").first().text()).text());
System.out.println(element.select("content").first().text());
}
Basic認証突破
String auth = new String(Base64.encodeBase64("id:pass".getBytes()));
Document doc = Jsoup.connect(url).header("Authorization", "Basic " + auth).get();