Как извлечь текст без HTML-тегов из веб-страницы с помощью HtmlUnit? - PullRequest
5 голосов
/ 07 июля 2010

Я только начинаю работать с HTMLUnit, и я собираюсь взять веб-страницу и извлечь из нее необработанный текст без всякой разметки html.

Может ли htmlunit добиться этого? Если так, то как? Или есть другая библиотека, на которую я должен смотреть?

например, если страница содержит

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

Я бы хотел вывести

para1 test info more stuff here

спасибо

1 Ответ

5 голосов
/ 07 июля 2010

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"));
}

NB: команда page.asText (), кажется, предлагает именно то, что вам нужно.

Javadoc для asText (Наследуется от DomNode до HtmlPage)

...