sábado, 1 de junio de 2013

Obtener Código Html con java.

Buenas amigos, en este nuevo tema vamos a ver algo muy sencillo como es obtener el código html de una página web. Realmente no es tan complicado como parece y apenas tendremos que escribir unas pocas lineas de código.



Bien, voy a crear la clase y a explicarla un poco:







Bueno, indicar que antes de comenzar que lo que vamos a realizar no es mas que leer un archivo de texto y mostrarlo por pantalla. Para ello vamos a utilizar la clase InputStreamReader y BufferedReader para leer el archivo de texto, manipularlo, y mostrarlo por consola.

  • Creamos un objeto de la clase URL y le pasamos la url por constructor:
    • URL urlObject=new URL("http://www.picarcodigo.blogspot.com");
  • Creamos un objeto de la clase InputStreamReader y le pasamos el archivo a leer por el constructor, como en nuestro caso es un archivo html se lo pasamos por medio del método openStream() de la clase URL.
    • InputStreamReader isr=new inputStreamReader(url.openStream());
  • Se lo pasamos al buffer para que la JVM lo pueda manipular e imprimirlo por consola:
    • BufferedReader br=new Bufferedreader(isr);
  • Una vez tenemos preparado el sistema con la información, le indicamos que lea lineas de texto y las imprima por pantalla mientras existan:
    • while((codigo=br.readLine())!=null)
      • System.out.println(codigo);
  • Una vez termina de leer lineas, cerramos el buffer:
    • br.close();
Ya está, si lo habéis hecho igual os tiene que imprimir todo el código html de la dirección pasada por constructor.

 Cabe mencionar que existen librerías para poder manipular los datos que aparecen en el código html, así como urls, referencia a datos, etc. Yo no voy a dedicar mi tiempo a esos temas ahora mismo, ya que no tengo mucho tiempo y aún tendría pendiente otras librerías como la sigar, la DateChooser, etc. Así que sois libres de buscar en "San Google" él lo sabe todo, solo tenéis que teclear "HTML parse java" y os saldrán unos cuantos resultados.

Un saludo.





3 comentarios:

  1. en vez de una imagen poner el codigo en texto, por comodidad a la gente

    ResponderEliminar
  2. Respuestas
    1. Y si...
      Si lo copio palabra por palabra y no funciona como yo espero me mato jaja

      Eliminar