ここに私が望む抽出ケースがあります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で文の境界を特定する方法はありますか?いくつかの正規表現について考えることができますが、より良い解決策があるのだろうかと思います。
回答:
回答№1は0これを試して:
doc.select("em").text();
回答№2の場合は0
CSS JQueryの類似セレクタを使用するのが最善の方法です。 「コンビネータ」についても読んでください。そうすれば、要素が子要素でなければなりません。
http://jsoup.org/apidocs/org/jsoup/select/Selector.html