💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 解析和遍历一个HTML文档 <div><p>如何解析一个HTML文档:</p> <pre><code>String html = "&lt;html&gt;&lt;head&gt;&lt;title&gt;First parse&lt;/title&gt;&lt;/head&gt;" + "&lt;body&gt;&lt;p&gt;Parsed HTML into a doc.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"; Document doc = Jsoup.parse(html); </code></pre> <p>(更详细内容可查看 <a href="http://jsoup.org/cookbook/input/parse-document-from-string">解析一个HTML字符串</a>.)</p> <p>其解析器能够尽最大可能从你提供的HTML文档来创见一个干净的解析结果,无论HTML的格式是否完整。比如它可以处理:</p> <ul> <li>没有关闭的标签 (比如: <code>&lt;p&gt;Lorem &lt;p&gt;Ipsum</code> parses to <code>&lt;p&gt;Lorem&lt;/p&gt; &lt;p&gt;Ipsum&lt;/p&gt;</code>)</li> <li>隐式标签 (比如. 它可以自动将 <code>&lt;td&gt;Table data&lt;/td&gt;</code>包装成<code>&lt;table&gt;&lt;tr&gt;&lt;td&gt;?</code>)</li> <li>创建可靠的文档结构(html标签包含head 和 body,在head只出现恰当的元素)</li> </ul> <h2>一个文档的对象模型</h2> <ul> <li>文档由多个Elements和TextNodes组成 (以及其它辅助nodes:详细可查看:<a href="http://jsoup.org/apidocs/org/jsoup/nodes/package-tree.html">nodes package tree</a>).</li> <li>其继承结构如下:<code><a title="A HTML Document." href="http://jsoup.org/apidocs/org/jsoup/nodes/Document.html">Document</a></code>继承<code><a title="A HTML element consists of a tag name, attributes, and child nodes (including text nodes and other elements)." href="http://jsoup.org/apidocs/org/jsoup/nodes/Element.html">Element</a></code>继承<code><a title="The base, abstract Node model." href="http://jsoup.org/apidocs/org/jsoup/nodes/Node.html">Node</a></code>. <code><a title="A text node." href="http://jsoup.org/apidocs/org/jsoup/nodes/TextNode.html">TextNode</a></code>继承 <code><a title="The base, abstract Node model." href="http://jsoup.org/apidocs/org/jsoup/nodes/Node.html">Node</a></code>.</li> <li>一个Element包含一个子节点集合,并拥有一个父Element。他们还提供了一个唯一的子元素过滤列表。<br> </li> </ul> <h2>参见</h2> <ul> <li>数据抽取:<a href="http://jsoup.org/cookbook/extracting-data/dom-navigation">DOM遍历</a></li> <li>数据抽取:<a href="http://jsoup.org/cookbook/extracting-data/selector-syntax">Selector syntax</a></li></ul></div>