我需要从HTM1片段中提取所有文本。
例:
输入:<p><div>how are</div> you doing?</p><p>I'm doing well</p>
输出:how are you doing? I'm doing well
我发现了类似的问题,例如Text Extraction from HTML Java,但它们都只是删除了<p>
标记,但没有删除内部元素。
最初,我尝试列出每个<p>
标记的子项,并串联其内容,然后递归检查每个孙子,并串联其子项,依此类推,直到只有文本为止。问题是某些文本没有被标签包围,只是纯文本。
我也尝试过Jsoup.parse(html).select("p").text()
,但输出为"[]I'm doing well"
。
这似乎是对Web爬网程序类型的非常普遍的需求,但是我找不到解决方案。
最佳答案
尝试这个:
Document doc = Jsoup.parse("<p><div>how are</div> you doing?</p><p>I'm doing well</p>");
String body = doc.body().text();
关于java - Jsoup:以人类阅读的方式提取文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24225412/