2013-07-05 79 views
-2

我想從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,雲。我只想解析這些文本值。

如果我去解決方案選項卡,那麼它會提取文本格式(客戶服務解決方案,企業解決方案)中的所有子鏈接。

+0

你想要什麼特定的數據?用一些標準鏈接添加一些示例 –

+0

Elements links = doc.select(「body」); - >你沒有選擇鏈接,但只有身體 – willome

+0

讓我們「http://www.genesyslab.com」。在主菜單中有產品,解決方案,服務,當我輸入「http://www.genesyslab.com/產品(在我的設計中),那麼它會顯示我所有的產品(聯絡中心IVR,雲,網絡客戶服務.....這樣的文本格式) – Chintamani

回答

0

要選擇你真正想做的事情

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

即選擇所有鏈接元素,然後檢查,如果他們的文字是「產品」的鏈接...這不是最優雅的解決方案,但似乎是你的目標是什麼。

+0

但問題在於我只是得到產品鏈接,我想要所有的子鏈接和它的文本值.. – Chintamani

+0

對不起,你不明白你的目標是什麼。你能否給你的問題添加更多的例子,你想要什麼,即我運行這個命令,並希望它用這個輸入打印出來。 – selig

+0

請檢查我編輯的問題。 – Chintamani

相關問題