使用Jsoup提取Span标记数据

时间:2012-02-25 17:31:21

标签: java web-crawler jsoup

我正在尝试使用Jsoup在html中提取特定内容。以下是示例html内容。

<html xmlns="http://www.w3.org/1999/xhtml">
 <head> 
 </head>
 <body class="">
  <div class="shop-section line bmargin10 tmargin10">
   <div class="price-section fksk-price-section unit">
    <div class="price-table">
     <div class="line" itemprop="offers" itemscope="" itemtype="http://schema.org/Offer">
      <div class="price-save">
       <span class="label-td"><span class="label fksk-label">Price :</span></span>
      </div>
      <span class="price final-price our fksk-our" id="fk-mprod-our-id">Rs.<span class="small-font"> </span>11990</span>
     </div>
     <meta itemprop="price" content="Rs. 11990" />
     <meta itemprop="priceCurrency" content="INR" />
     <div class="our-price-desc fksk-our-price-desc">
      <small>(Prices are inclusive of all taxes)</small>
     </div>
    </div>
   </div>
  </div>
 </body>
</html>

我使用以下命令获得了所需的输出:

document.select(".price-table").select(".line").select("span").get(2).text()

看起来很冗长。 我不能直接使用span类(“价格最终价格我们的fksk-our”)?

对此有何帮助?

1 个答案:

答案 0 :(得分:5)

这不适合你吗?不确定为什么你在price-table任意开始。

doc.select("span[class=price final-price our fksk-our]").text();

如果没有,它应该非常接近。看看JSoup的selector syntax;它非常强大。