我正在尝试使用JSoup从页面上抓取一些信息,这些信息可以由一组按特定顺序排列的标签来标识。它们的顺序如下:

 <span class="sold" >Sold</span></td>
    <td class='prc'>
        <div  class="g-b bidsold" itemprop="price">
                AU $1.00</div>


我希望获取代替页面上AU $ 1.00字段的每个值,但它们只能由span class="sold"选择器标识,该选择器预先出现了几个标签。

我尝试过类似select("span.sold:lt(4) + [itemprop=price]")的方法,但是感觉就像在黑暗中四处乱窜!

最佳答案

下面的代码应该可以解决问题!!!

Document doc = Jsoup.connect(/*URL of your HTML document*/").get();
Element part = doc.body();
Elements parts = part.getElementsByTag("div");
String attValue;
String requiredContent;
for(Element ent : parts)
{
    if(ent.hasAttr("class"))
    {
        attValue = ent.attr("class");
        if(attValue.equals("g-b bidsold"))
        {
            System.out.println("\n");
            requiredContent=ent.text();
            System.out.println(requiredContent);
        }
    }
}


只要确保迭代并获得数组中的输出即可。

10-04 18:54