2012-09-13 20 views
5

ho dati forniti in un sito web e si presenta come nell'immagine seguente: enter image description herecome ottenere i dati da un URL

questo sito offre valori di alcuni parametri che vengono aggiornati ogni istante. ora voglio recuperare questi dati in base al nome della colonna e il numero di riga nell'APP Android, so come aprire la connessione http. ma sfortunatamente non ho idea da dove dovrei iniziare e come leggere i dati forniti nell'immagine.

il vostro aiuto è molto apprezzato.

+0

Avete qualche servizio Web per ottenere questi dati? –

+0

L'URL attuale: ftp://itrf.ensg.ign.fr/pub/itrf/old/itrf92.ssc –

risposta

11

A meno che non si disponga di un'origine dati speciale su cui lavorare, è necessario leggere i contenuti del sito Web e elaborarli manualmente. Ecco un collegamento da java tutorials su come leggere da una connessione 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:

Se sei dietro un proxy si dovrebbe anche impostare queste proprietà del sistema (per i valori appropriati):

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

ma penso che il codice che hai scritto leggerà l'intera pagina e voglio sapere come leggere gli elementi della tabella – LetsamrIt

+1

Sì, legge l'intera pagina. Puoi saltare i caratteri durante la lettura finché non trovi la tabella (se sai come inizia), ma come ho detto, per impostazione predefinita non c'è modo di elaborare automaticamente il testo normale ... Regexes può aiutarti una volta ottenuto il contenuto del sito. – zeller

+0

Dopo aver ottenuto il contenuto, è possibile analizzare il documento html e prendere solo i dati necessari –

0

È necessario analizzare l'intero soddisfare. Non potresti chiamare un webservice per ottenere questi dati, o direttamente il database che appartiene a questa vista?

0

Se i dati sono solo testo chiaro e il formato della tabella non cambia, è possibile analizzare l'intera tabella, ad esempio dopo aver letto la riga "------- ..." è possibile analizzare i valori utilizzando un scanner:

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(); 
Problemi correlati