繁体   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