我正在尝试使用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);
}
}
}
只要确保迭代并获得数组中的输出即可。