用 Java 解析 HTML

Parse HTML with Java

我需要使用 Java 解析 HTML 页面以检索一些数据。

例如,来自incoming.html

<html>
 <head> 
  <title>TITLE</title> 
  <meta name="some name" content="some content" /> 
  <link type=".." title=".." rel=".." href="link" /> 
  <script type="text/javascript">..</script> 
 </head>
  <body>
      <!--googleoff:all-->
  <img src="image.jpg"/>
  <div class="div1"></div>
  <div class="Logo"><a href="/"><img src="logo.png"/></a></div>
  <div class="div2"></div>
    <ul>
      <li class=".."><a href="/”>a</a></li>
      <li class=".."><a href="/”>b</a></li>
    </ul>

  <div class="div1"></div>
  <div class="Logo"><a href="/"><img src="other.png"/></a></div>
  <div class=”div2”></div>

    <ul>
      <li class=".."><a href="/”>a</a></li>
      <li class=".."><a href="/”>b</a></li>
   </ul>
      <!--googleon:all-->
  </body>
 </html>

我需要接收outcoming.html

<html>
 <head> 
  <title>TITLE</title> 
  <meta name="some name" content="some content" /> 
  <link type=".." title=".." rel=".." href="link" /> 
  <script type="text/javascript">..</script> 
 </head>
 <body>
   <div class="Logo"><a href="/"><img src="other.png"/></a></div>
   <div class=”div2”></div>
 </body>
</html>

本期目的:

如何从 2 个仅内容不同的等号标签中进行选择。

在我的例子中,我有两个标签:

<div class="Logo"><a href="/"><img src="logo.png"/></a></div>

<div class="Logo"><a href="/"><img src="other.png"/></a></div>

但我只需要 src="other.png"

所在的标签

您认为最好的方法是什么?

您可以使用库 JSoup。

这里是linkhttp://jsoup.org/

使用起来非常简单。这里有一个简单的例子。

String html = "<div><p>Lorem ipsum.</p>";
Document doc = Jsoup.parseBodyFragment(html);
Element body = doc.body();