如何解析Jsoup中任何网站的特定数据?

时间:2013-07-05 08:35:07

标签: jsoup

我想从jsoup中的任何网站解析特定数据数据。我只是写了这样的代码,我想从任何网站获得产品数据。

public class Example {
public static void main(String args[]) {

    try {

         String url="http://www.genesyslab.com";//this is given by user in text box.
        Document doc=Jsoup.connect(url).get();
       Elements links = doc.select("a");
        for (Element link : links) {
          if(link.text().equals("Products")){
            System.out.println("\nlink : " + link.attr("href") +link.text());
          }
        }
        // get the value from href attribute
      //  System.out.println("\nlink : " + link.attr("a[href]","product"));

    }
catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
}

这里我将获得输出链接:

  

/products/index.aspx产品

但我的目标是找到以文本格式存在于产品下的所有子链接,如果您访问http://www.genesyslab.com然后将鼠标移到产品上,它将显示产品概述,联系中心ivr,云。我只想解析这些文本值。

如果我转到“解决方案”选项卡,它会以文本格式提取所有子链接(客户服务解决方案,企业解决方案)。

1 个答案:

答案 0 :(得分:0)

选择您真正想要的链接

        Elements links = doc.select("a");
        for (Element link : links) {
          if(link.text().equals("product")){
            System.out.println("\nlink : " + link.attr("href")));
          }
        }

即。选择所有链接元素,然后检查他们的文本是否是“产品”......这不是最优雅的解决方案,但似乎是你的目标。