2012-02-25 2 views
5

Jsoup를 사용하여 html로 특정 컨텐츠를 추출하려고합니다. 다음은 샘플 HTML 컨텐츠입니다.Jsoup를 사용하여 스팬 태그 데이터 추출

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

이 긴 것 같은데 :

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

나는 명령 아래 사용하여 필요한 출력을 얻었다. 스팬 클래스를 사용하여 직접 얻을 수 없습니까 ("가격 최종 가격은 우리 fksk-our"입니까?)?

이와 관련하여 도움이 필요하십니까?

답변

4

이 방법이 효과가 없습니까? 임의로 price-table에서 시작하는 이유를 잘 모릅니다.

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

그렇지 않으면 꽤 가까워 야합니다. JSoup의 selector syntax을 살펴보십시오. 그것은 매우 강력합니다.

+1

많은 감사 AHungerArtist, 당신이 제공 한 솔루션이 잘 작동합니다. 나는 "가격 테이블"div 클래스가 HTML 전체에서 고유하다는 것을 알았고, 그래서이 클래스를 사용했다. – topblog