2012-09-13 60 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();