Obter valor de uma página Html

Olá pessoal!
Tenho um desafio novo…
Tenho uma página html onde está o código

 <input class="textaligncenter" name="txtTot1" disabled="disabled"
      value="12815,7 m3" />

e o valor é carregado de segundos em segundos.
Eu preciso de ler esse valor e carregá-lo numa BD!
Queria saber se há forma de fazer isso…

Obrigada,
Cláudia

Se você quer saber quanto tempo demora para carregar, acho que isso ajuda.


try {
		
				URL url = new URL("http://www.guj.com.br");

				InputStream is = url.openStream(); 
				DataInputStream dis = new DataInputStream(new BufferedInputStream(is));
				String s = "";
				
				while ((s = dis.readLine()) != null) {
					System.out.println(s);
		        }

				is.close();
				
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}		

Não preciso saber esse tempo!
Quero é poder extrair de uma página html, publicada na internet um valor e guarda-lo em BD.
Cláudia

Claudio, recupera o valor via codigo e seta no banco. Por exemplo:

String valor = dynaForm.getString("nomeDoCampo");
dynaForm.set(valor, "nomeDoCampo");

Isso funciona se vc estiver usando DynaValidarionForm.

espero ter ajudado.
Abs

Vocês não estão a perceber…
A página não é minha!! É uma página qq publicada na internet.
Ou seja, qualquer código que eu construa tem que tomar como entrada a página html.
Será que a solução não passa por um parser?
Cláudia

Olá Cláudia…

É assim usa o exemplo que o sigma deu… que com este exemplo vc vai poder carregar todo o HTML para dentro de uma String…

Depois é apanhar no meio desta String o conteúdo que vc quer…

Agora se aquilo actualiza de minuto a minuto… deve ser por java script não? ou html refresh?

Talvez o melhor seja colocar isto numa thread onde vc possa carregar o dito html a cada minuto e tratar a informação obtida…

Pelo que percebi é isto… agora se não for… epa vais ter que tentar explicar melhor :stuck_out_tongue:

Ok.
Já percebi q o código htmll fica na stream mas agora como “navego” nela para obter, por exemplo, o valor da tag??
Cláudia

Talvez tenha uma forma mais fácil, mas expressões regulares te ajudarão a fazer o que precisa.

Dá uma olhada nas classes do pacote java.util.regex

Aqui alguns exemplos:

http://www.exampledepot.com/egs/java.util.regex/pkg.html

[]´s

Eu ja consegui fazer uns testes bem sucedidos com DOM, mas será q não há uma forma mais simples? Partindo da stream…
Cláudia

Basta colocar todo o Stream dentro de uma String… e depois apanhar na string o que interessa com os comandos básicos…

indexOf

substring

replaceAll

etc… :smiley:

O DOM pode falhar… já que o HTML pode não estar bem struturado e compátivel com o parse XML… e fora que não deve conseguir apanhar todas as tags… o melhor é String… mais simples e mais rápido :wink: