簡體   English   中英

使用jsoup選擇一個非重要的div標簽

[英]Select a non significant div tag using jsoup

我正在使用jsoup進行webscraping並遇到了另一個問題。 我需要信息的div沒有類,id或任何特殊指示。 它被埋在頁面中。 這里是:

<div class="column">
    <div class="form-label">Rate: </div>
    <div>11.082/11.167</div>
    <div class="form-label padding-top">High/Low: </div>  
    <div>1005.0/0.0004</div>
</div>

我需要獲得第一組數字,但我不知道如何告訴jsoup我特別想要它們; 有人有建議嗎?

  1. 選擇class="column"所有div
  2. 遍歷所選元素列表。 選擇元素中具有文本Rate:的第一個div Rate:
  3. 你的文字在2. div內

對不起代碼格式化不起作用o.0

public String getRage(Document document) {
    for(Element e : document.getElementsByClass("column")) {
        if(e.getElementsByTagName("div").get(0).ownText().equals("Rate: ")) {
            return e.getElementsByTagName("div").get(1).ownText();
        }
    }

    return null;
}

假設doc是你的Document對象......

doc.select('.column > div:eq(1)');

應該做的工作,您基本上按類選擇父div,然后獲取所有子div,但過濾子div,以便返回索引1處的元素(這是一個基於零的索引,因此索引1是第二個元素)

就個人而言,我會切換到jQuery,因為它使用了更好的選擇器引擎,但每個都是他們自己的......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM