簡體   English   中英

使用jsoup從站點獲取數據

[英]fetching data from a site using jsoup

我正在嘗試使用以下代碼從網站獲取數據

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class test {
  public static void main(String[] args) throws IOException {       
    Document d=Jsoup.connect("some site URL")
      .userAgent("Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36").timeout(100000).get();
    Elements e = d.select("span[class=lrg bold]");
    for (Element element : e) {
      System.out.println("aaaaaaaa"+element.text());
    }
  }
}

這樣,我想從網站上獲取價格信息。 但是問題是一種產品的價格有兩個規則。 有時<del class="grey">中可用的價格,或者<span class="bld lrg red">可用的價格。 如果兩個規則都有價格,我只想取第一個。 如果第一個不可用,那么我要第二個的價格。 我如何才能在元素中給出條件。

我認為您不能將所需的locig放入一個CSS選擇器中。 但是,完成這樣的需求應該非常容易:

Elements e = d.select("del.grey");
if (e.size() == 0){
    e = d.select("span.lrg.bold");
}

//do stuff with e

注意,我更改了選擇器以使用正確的類名語法。

暫無
暫無

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

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