Artículos
Java

Enlaces de una web con Java

25/Abr/2016

En el ejemplo de hoy vamos a utilizar la librería Jaunt para poder recuperar los enlaces de una web con Java. La idea del ejemplo es utilizar técnicas de screen scraping para poder recuperar una web y analizar su estructura. En este caso en el análisis de la estructura recuperaremos todos los elementos anchor que contenga.

Lo primero de todo será importar la librería Jaunt.

import com.jaunt.*;

La base de la librería es la clase UserAgent la cual simula al agente de usuario o navegador. Mediante esta clase y el método .visit() habremos conseguido establecer conexión con la web de destino.

try {
  UserAgent userAgent = new UserAgent();
  userAgent.visit("http://manualweb.net");						
} catch (ResponseException re) {
  re.printStackTrace();
}

Una vez tenemos la estructura de la página a analizar vamos a apoyarnos en el método findEvery() para indicarle un tipo de elemento HTML, en este caso el anchor.

Es importante ver que el método lo ejecutamos sobre el objeto UserAgent.doc que es el que contiene la página cargada.

Elements links = userAgent.doc.findEvery("");

Los elementos HTML resultado quedan en una colección Elements.

Ya solo nos queda recorrer la colección de elementos. Por cada elemento vamos a recuperar su atributo href. Para ello nos apoyamos en el método .getAt() con el nombre del atributo como parámetro.

for(Element link : links)
  System.out.println(link.getAt("href"));

Vemos que cada elemento HTML es representado mediante la clase Element.

Hay que tener cuidado a la hora de manipular los elementos ya que se puede lanzar la excepción JauntException. Así que deberemos de realizar el pertinente control con una estructura try-catch.

try {
  UserAgent userAgent = new UserAgent();
  userAgent.visit("http://manualweb.net");			
			
  Elements links = userAgent.doc.findEvery("");
  for(Element link : links) System.out.println(link.getAt("href"));					
} catch (ResponseException re) {
  re.printStackTrace();
} catch (JauntException j){
  j.printStackTrace();
}

De esta forma hemos conseguido recuperar los enlaces de una web con Java y la librería Jaunt.

Código Fuente

Descárgate el código fuente de Enlaces de una web con Java
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
3 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios