5

私はHTMLUnitを使い始めたばかりで、私が探しているのはWebページを取得し、そこからすべてのhtmlマークアップを除いた生のテキストを抽出することです。

htmlunitはそれを達成できますか?もしそうなら、どのように?それとも、私が見なければならない別のライブラリがありますか?

たとえば、ページにが含まれている場合

<body><p>para1 test info</p><div><p>more stuff here</p></div>

出力したい

para1 test info more stuff here

ありがとう

4

1 に答える 1

5

http://htmlunit.sourceforge.net/gettingStarted.htmlは、これが実際に可能であることを示しています。

@Test
public void homePage() throws Exception {
    final WebClient webClient = new WebClient();
    final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
    assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText());

    final String pageAsXml = page.asXml();
    assertTrue(pageAsXml.contains("<body class=\"composite\">"));

    final String pageAsText = page.asText();
    assertTrue(pageAsText.contains("Support for the HTTP and HTTPS protocols"));
}

注意: page.asText() コマンドは、まさにあなたが求めているものを提供しているようです。

asText の Javadoc (DomNode から HtmlPage に継承)

于 2010-07-07T05:15:10.487 に答える