Java HTMLスクレーピングにJSoup

普段はPHPのPHP Simple HTML DOM Parserを利用しているが、
ログインの必要な画面遷移と組み合わせるのでJavaでスクレーピングを久々に実装してみた。

今回はJSoupというJavaのライブラリを利用した。CSSセレクターが使えるのでSimple HTML DOM Parserと同じような記述ができる。

下記のサンプルコードはSJISのファイルをパースするもの。目的の要素までCSSセレクターで取得した後は、elementsをループで回す。

import java.io.File;
import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JSoupSample {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		File input = new File("c:/html.txt");
		Document doc = Jsoup.parse(input, "Windows-31J", "http://example.com/");

		Elements dateElements = doc.select("div.locator table tbody tr");
		for (Element element : dateElements) {
			 System.out.println(element.outerHtml());
		}

	}


}
カテゴリー: Java パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.