0

这是一个提取案例,我想知道 Jsoup 中是否有本机方法或任何其他 HTML 解析器可以有效地执行。假设我有以下页面,我想从中提取“StackOverFlow”以及任何可以形成正确句子的附近文本。

<html> <head><title>A test page </title></head> 
<body> 
<p> Not relevant 1. </p>
<p> Not relevant 2. 
<em> word1 word2 word3 <b> StackOverFlow </b> word4 word5 word6 </em>
</p>
</body>  
</html>

应该提取的文本是:word1 word2 word3 StackOverFlow word4 word5 word6。而不是这个:不相关 2. word1 word2 word3 StackOverFlow word4 word5 word6

即有没有办法在 Jsoup 中识别句子边界?可以想到一些正则表达式,但我想知道是否有更好的解决方案。

4

2 回答 2

0

最好的方法是使用 CSS JQuery 类似的选择器。另请阅读有关“组合器”的信息,这样您就可以从哪个元素控制您的元素必须是子元素。

http://jsoup.org/apidocs/org/jsoup/select/Selector.html

于 2012-07-20T02:23:41.203 回答
0

尝试这个:

doc.select("em").text();
于 2012-07-19T14:07:28.890 回答