有许多资源可以解析HTML页面并提取文本内容。 Jsoup就是一个例子。就我而言,我想提取用html标签标记的文本内容,每个句子出现在该标签下面。例如,走这个页面
<html>
<head><title>Test Page</title>
<body>
<h1>This is a test page</h1>
<p> The goal is to extract <b>textual content <em> with html tags</em> </b> from html pages.
</body>
</html>
我期待输出如下:
<h1>This is a test page</h1>
<p> The goal is to extract <b>textual content <em> with html tags</em> </b> from html pages.
换句话说,我想在页面的文本内容中包含特定的html标记。
答案 0 :(得分:0)
你分两步完成。首先,如您所述,使用JSoup创建DOM树。然后使用XSL过滤器处理它。在XSL过滤器中,您只能提取您感兴趣的那些标签。
答案 1 :(得分:0)
要获得结果,您可以使用:
final String html = "<html>"
+ "<head><title>Test Page</title>"
+ "<body>"
+ "<h1>This is a test page</h1>"
+ "<p> The goal is to extract <b>textual content <em> with html tags</em> </b> from html pages."
+ "</body>"
+ "</html>";
// Parse the String into a Jsoup Document
Document doc = Jsoup.parse(html);
Elements body = doc.body().children();
// Do further things here ...
System.out.println(body);
您可以加载文件或网站,而不是字符串html
- jsoup提供了这一切。
在此示例中,body
包含您作为结果发布的html。
或者您是否需要选择“h1后跟p标签”?
但是,您可以查看Jsoup Selector API