2012-09-13 91 views
5

我有一個網站提供的數據,並將其呈現爲如下圖: enter image description here如何從URL中獲取數據

這個網站提供了一些參數,每一個而被更新的值。 現在我想要檢索這些數據根據Android APP中的列名和行號,我知道如何打開http連接。 但不幸的是,我不知道我應該從哪裏開始以及如何閱讀圖像中提供的數據。

您的幫助是非常感謝。

+0

你有任何Web服務來獲取這些數據嗎? –

+0

實際的URL:ftp://itrf.ensg.ign.fr/pub/itrf/old/itrf92.ssc –

回答

11

除非你有一個特殊的數據源來處理,你必須閱讀網站的內容,然後手動處理它。以下是關於如何從URL連接中讀取的java tutorials的鏈接。

import java.net.*; 
import java.io.*; 

public class URLConnectionReader { 
    public static void main(String[] args) throws Exception { 
     URL oracle = new URL("http://www.oracle.com/"); 
     URLConnection yc = oracle.openConnection(); 
     BufferedReader in = new BufferedReader(new InputStreamReader(
           yc.getInputStream())); 
     String inputLine; 
     while ((inputLine = in.readLine()) != null) 
      System.out.println(inputLine); 
     in.close(); 
    } 
} 

編輯:

如果你是在你身後還應該設置這些系統屬性(爲適當的值)代理:

System.setProperty("http.proxyHost", "3.182.12.1"); 
System.setProperty("http.proxyPort", "1111"); 
+0

但我認爲你寫的代碼會讀取整個頁面,我想知道如何讀取表格元素 – LetsamrIt

+1

是的,它讀取整個頁面。你可以在閱讀時跳過字符,直到找到表格(如果你知道它是如何開始的),但正如我所說的,默認情況下,沒有辦法自動處理純文本......正則表達式可以幫助您獲得網站內容。 – zeller

+0

當你得到內容後,你可以解析de html文檔,並只取得你需要的數據 –

0

你必須分析整個內容。你能不能調用webservice來獲取這些數據,或者直接調用屬於這個視圖的數據庫?

0

如果數據只是純文本並且表格的格式不改變,則可以解析整個表格,例如在閱讀「------- ...」行之後,您可以使用掃描儀:

Scanner s; 
while ((inputLine = in.readLine()) != null) 
{ 
    s = new Scanner(input).useDelimiter(" "); 
    //Then readthe Values like 
    value = s.next()); // add all values in a list or array  
} 
s.close();