我搜索了一个关于我的困境的答案,但到目前为止还没有找到 - 我的结果中没有明显的解决方案(而且我花了很多时间在各种帖子中尝试建议似乎是半相关的)。好的,现在到了肉:
我有一段html,我想从中得到一些文字 - 但问题是,文字似乎没有标签(并且它不是100%出现 - 在某些理解的情况下文本没有标签)示例html如下:
<html>
<head></head>
<body>
: . .
<a href="?act=Q&ID=249629586" target="R"><b>Post title that I have removed</b></a> <
<span class="hnd anon">PosterHandleIReplaced</span> >
<font size="1">06/15 11:41 </font>
</body>
</html>
因此,我要抓取的文字部分位于<body>
和<a href>
之间,此处:
: . .
但我没有办法只抓住 那个文字。当我尝试将文档或元素转换为文本时,它最终将整个html块转换为字符串并返回给我,这不是我想要的。我想我可以接受整个字符串并开始解析它 - 但这似乎是非常容易出错的错误 - 更不用说:。 。 part实际上可以更长 - 取决于线程中的响应所在的位置(如果它被隐藏在线程中,它可能看起来像......:......:......等)。
非常感谢任何帮助!
答案 0 :(得分:1)
Jsoup在TextNodes中存储文本 - 给定一个Element(在您的示例中为body
元素),您可以调用e.textNodes()
来获取其文本节点的列表。在这种情况下,您将查看列表中的第一项。 textNodes
文档中有一个小例子,展示了该方法与其他子getter方法的关系,这可能对更复杂的任务有所帮助。