2012-02-25 18 views
5

Jsoupを使用して特定のコンテンツをhtmlで抽出しようとしています。以下はサンプルのhtmlコンテンツです。Jsoupを使用してスパンタグデータを抽出する

<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() 

は、その長いように見えます。 スパンクラスを使用して直接取得することはできません(「価格最終価格は私たちのfksk-our」)?

同じようなヘルプがありますか?

答えて

4

これは機能しませんか?なぜあなたはprice-tableから任意に始まっているのか分かりません。

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

そうでなければ、かなり近いはずです。 JSoupのselector syntaxを見てください。それは非常に強力です。

+1

多くのありがとうAHungerArtist、あなたが提供した解決策はうまくいきます。私は、 "価格表" divクラスがHTML全体で一意であることを発見したので、そのクラスをとっています。 – topblog

関連する問題