Ver Mensaje Individual
  #2  
Viejo 21/06/10, 12:55:28
Array

[xs_avatar]
ocapocap ocapocap no está en línea
Usuario novato en la web
 
Fecha de registro: jun 2010
Mensajes: 17
Modelo de smartphone: HTC Hero

Obtener los datos es relativamente simple (empleando HTTP). Procesarlos... es otra historia.

Para acceder a la información necesitas abrir una conexión mediante el método openConnection() de un objeto URL. A partir de ahí puedes obtener los datos mediante el método getInputStream de la conexión.

Este método retorna un objeto que implementa el interfaz InputStream. A partir de él sólo se puede leer byte a byte, o una matriz de bytes. En ambos casos, se llama a esos métodos repetidamente hasta que retorne un -1 (que indica que no hay más datos).

Lo habitual (por simplificar) es crear un BufferedReader a partir del InputStream para disponer del método readLine() que lee el contenido línea a línea.

En tu caso, podrías pasar el contenido de la página a un String y luego procesarlo. Cómo procesarlo depende del formato de la página Web. Puedes ir buscando los trozos que te interesan mediante indexOf.

Para guardar el contenido de una página en un String, el código sería similar al siguiente:


Código:
URL direccion;
        URLConnection cnn;
        BufferedReader reader;
        try {
            direccion = new URL("http://www.google.com");
            cnn = direccion.openConnection();
            String texto = "";
            reader = new BufferedReader(new InputStreamReader(cnn.getInputStream()));
            String cad;
            while ( (cad = reader.readLine()) != null){
                texto += cad ;
            }
            System.out.println("El contenido de la página\n");
            System.out.println(texto);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
Un saludo
Responder Con Cita