2012-02-25 14 views
5

Tôi đang cố gắng trích xuất nội dung cụ thể trong html bằng cách sử dụng Jsoup. Dưới đây là nội dung html mẫu.Trích xuất dữ liệu thẻ Span bằng cách sử dụng 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> 

tôi có sản lượng yêu cầu sử dụng dưới đây lệnh:

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

Hình như lâu đời của nó. Tôi không thể trực tiếp có được bằng cách sử dụng span class ("giá cuối cùng giá fksk của chúng tôi-của chúng tôi")?

Bất kỳ trợ giúp nào giống nhau?

Trả lời

4

Điều này có hiệu quả với bạn không? Không chắc chắn lý do bạn tự ý bắt đầu tại price-table.

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

Nếu không, nó phải ở khá gần. Nhìn vào selector syntax của JSoup; nó rất mạnh mẽ.

+1

Rất cảm ơn AHungerArtist, giải pháp bạn cung cấp đang hoạt động tốt. Tôi đã tìm thấy lớp div "price-table" là duy nhất trong toàn bộ html, do đó, được lấy lớp đó. – topblog