Recoger datos de una url

Hola, no estoy muy seguro de si es aqui donde debo colgar mi cuestion..... sino pido disculpas.
tengo que recoger unos datos de una url. Estoy probando con un código de ejemplos que he ido encontrando:
URL url;
try {
url = new URL("http://http://www.eltiempo.es/valencia.html");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
BufferedWriter out = new BufferedWriter(new FileWriter("C:\\temperaturas.txt"));
char[] cbuf=new char[255];
while ((in.read(cbuf)) != -1) {
out.write(cbuf);
}
in.close();
out.close();

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

Así consigo leer la web y gurdarla en un txt (posiblemente ni lo necesite). Quiero recorrer lo que leo y sacar la temperatura max. y min. de cada dia que muestra esta pagina.
1. - No entiendo muy bien este trozo de código:
char[] cbuf=new char[255];
while ((in.read(cbuf)) != -1)
{....}
2.- Me gustaía guardar lo que lee el BufferedReader en memoria y no guardar nada en disco.
3.- Tampoco se como recorrer lo que recojo de la web (el html completo) para extraer de ahí los datos que quiero de los tags HTML.

La verdad no tengo mucha idea como se puede ver. Agradecería algunas pistas de como proceder.
Gracias ...

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de beto.bateria

puedes utilizar un parser

puedes utilizar un parser html, ejemplo:


La verdad no se cual sea la mejor opcion.

parsear y recorrer html para extraer datos

Hola,
al final me he decidido por "jericho-html-3.2.jar". Lo estoy usando y ya casi tengo lo que quiero.
Por si ha alguien le interesa:

Muchas gracias beto.bateria.

Imagen de beto.bateria

Para eso estamos.

Para eso estamos.