我正在尝试使用以下代码从网站获取数据
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">
。如果价格在两个规则中都可用,我想只拿第一个。如果第一个不可用,那么我想要第二个价格值。我怎样才能在元素中给出条件。
答案 0 :(得分:0)
我不认为您可以将所需的locig放入一个css选择器中。但是,要完成你需要的东西应该很容易:
Elements e = d.select("del.grey");
if (e.size() == 0){
e = d.select("span.lrg.bold");
}
//do stuff with e
注意,我更改了选择器以使用正确的类名语法。