有人知道我如何提取<p> blah blah blah </p>
以外的文本(基本上是在其他元素中发现的文本)吗?'
在网页中。它必须是一个完整的时间顺序,因为它是如何显示在原始网页。
我在<p> tags
之外的意思是也要从<h1>, <h2>,<h3> and <h4>
中提取标题中的单词!例如,给定一个html网页
<html>
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<p>This is a random paragraph</p>
<h1>Heading3</h1>
<p>This is another random paragraph</p>
</html>
*如果网页在主体中也有p标签之后的标签,这会变得有点复杂。
因此所需的(按时间顺序)输出将如上所示!
*使用JSoup !:)
您需要学习CSS选择器,因为jsoup使用该语法和概念来查询文档。
您需要阅读jsoup文档。该文档甚至显示了一个适合您的代码片段的示例。
Elements elements = doc.select("p > h1"); // Find a h1 directly following a p.
或者更一般的:
Elements elements = doc.select("h1"); // Find all h1 elements.
然后循环元素集合。在每个元素上提取该元素自己的文本内容。
我强烈建议使用jQuery。
使用jQuery文本函数获取不带html标签的文本。使用jQuery html函数获取所有内容,包括html标签。
提取html标签之间的文本你可以这样做:
var text = $('html').text();