2012-09-13 16 views
5

tengo datos proporcionados en un sitio web y se presenta como en la imagen siguiente: enter image description herecómo obtener datos de una URL

este sitio web ofrece valores de algunos parámetros que se actualizan cada rato. ahora quiero recuperar estos datos de acuerdo con el nombre de la columna y el número de fila en la aplicación de Android, sé cómo abrir la conexión http. pero desafortunadamente no tengo ni idea de dónde debería comenzar y cómo leer los datos proporcionados en la imagen.

su ayuda es muy apreciada.

+0

¿Tiene algún servicio web para obtener estos datos? –

+0

La URL real: ftp://itrf.ensg.ign.fr/pub/itrf/old/itrf92.ssc –

Respuesta

11

A menos que tenga una fuente de datos especial para trabajar, debe leer los contenidos del sitio web y luego procesarlos manualmente. Aquí hay un enlace del java tutorials sobre cómo leer desde una conexión URL.

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(); 
    } 
} 

EDIT:

Si estás detrás de un proxy también debe establecer estas propiedades del sistema (con los valores apropiados):

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

pero creo que el código que escribió leerá toda la página y quiero saber cómo leer los elementos de la tabla – LetsamrIt

+1

Sí, lee toda la página. Puede omitir caracteres mientras lee hasta encontrar la tabla (si sabe cómo comienza), pero como dije, de manera predeterminada no hay forma de procesar texto simple automágicamente ... Regex puede ayudarlo una vez que tenga el contenido del sitio. – zeller

+0

Después de obtener el contenido, puede analizar el documento de html y tomar solo los datos que necesita –

0

Tienes que analizar la totalidad contenido. ¿No podría llamar a un servicio web para obtener estos datos, o directamente a la base de datos que pertenece a esta vista?

0

Si los datos son solo texto claro y el formato de la tabla no cambia, puede analizar toda la tabla, por ejemplo, después de leer la línea "------- ..." puede analizar los valores utilizando un escáner:

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(); 
Cuestiones relacionadas