如何使用HtmlUnit从网页中提取没有HTML标签的文本?
问题描述:
我刚刚开始使用HTMLUnit,我正在做的是采取一个网页,并从中提取出原始文本减去所有的HTML标记。如何使用HtmlUnit从网页中提取没有HTML标签的文本?
htmlunit能完成吗?如果是这样,怎么样?还是有我应该看的另一个图书馆?
例如,如果页面包含
<body><p>para1 test info</p><div><p>more stuff here</p></div>
我想它想输出
para1 test info more stuff here
感谢
答
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 for asText(继承自れ到HtmlPage)
反正与htmlclient库做到这一点? – James 2010-07-07 18:45:05
看起来可能(我假设你指的是Apache HttpClient) - http://svn.apache.org/viewvc/httpcomponents/oac.hc3x/trunk/src/examples/TrivialApp.java?view=markup – Syntax 2010-07-08 01:57:51