【问题标题】:Parse HTML with Java [duplicate]用 Java 解析 HTML [重复]
【发布时间】:2015-06-24 11:36:57
【问题描述】:

我需要用 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 个 equals 标记中进行选择,它们的区别仅在于它们的内容。

就我而言,我有两个标签:

<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
  • 到目前为止你尝试了什么?
  • 您的 HTML 示例对我来说没有意义。你想用它们做什么?

标签: java html-parsing jsoup


【解决方案1】:

您可以使用 JSoup 库。

这里是链接http://jsoup.org/

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

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

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 2011-06-05
    • 2011-03-24
    • 2011-12-16
    • 2012-10-01
    • 2013-04-06
    • 2011-07-04
    • 2011-08-29
    相关资源
    最近更新 更多