Tutorial: Crear pequeño bot que extrae títulos y enlaces usando java

  • Autor Autor Beto87
  • Fecha de inicio Fecha de inicio
B

Beto87

Beta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Pues como dice el titulo hoy les enseñare a usar un poco esta gran librería llamada Jsoup Para lo cual desarrollaremos una pequeña aplicación en java la cual nos permitirá poder obtener los títulos de los post que se encuentran en la home de Taringa.

Que es jsoup:
para quienes no lo saben daré una pequeña explicación sobre que es la librería jsoup.
Es un parser HTML. Que permite la extracción de información desde sitios web y se caracteriza por soportar DOM, CSS y métodos estilo JQuery para la selección de los datos a extraer.

Cosas a utilizar:

Paso 1: Iniciamos Netbeans y creamos un nuevo proyecto (en mi caso lo llame "Ejemplo Jsoup")
gDVUooq.png


Paso 2: Agregamos la la librería Jsoup (previamente descargada) a nuestro proyecto
RPD10kE.png

HqerYbV.png


Paso 3: vamos a importar las clases que utilizaremos, esto con el fin de tener una buena practica de programación, ademas de ser necesario para utilizar las funciones de dicha librería. estas son la que agregaremos:

  • import org.jsoup.Jsoup;
  • import org.jsoup.nodes.Document;
  • import org.jsoup.nodes.Element;
  • import org.jsoup.select.Elements;

Quedando de esta manera.

RTAQyPm.png


Paso 4: Ahora iniciamos con un try catch esto con el fin de cachar los errores en caso de que se generen al compilar el proyecto

gXJI2f6.png


Paso 5: Ahora si manos a la obra, vamos a comenzar por crear una instancia de Document para poder hacer la llamada al método de conexión y así poder jalar todo el home de taringa(quedando así).

Explicacion corta
  • .timeout(10000) = tiempo de espera en mili segundos en caso de que el sitio tarde en responder.
  • .get() = realizar la conexión para poder obtener el home.
tcULkl7.png


Paso 6: Ahora vamos a usar el metodo select Elements para poder limpiar el home y poder mostrar solamente los nombres y urls del mismo.

Explicacion corta

  • Elements = nos permite convertir en elementos la respuesta recibida y así manipularla mejor
  • Select = nos permite realizar una búsqueda en modo de Query dentro del elemento que previamente convertimos (utilizando las etiquetas en las que se encuentra lo que buscamos).

dL6uuDQ.png


El código nos debe quedar así
z1SVImq.png


Paso 7: Ahora con un bucle for vamos a obtener los nombres y urls de los mensajes que se encuentran en la home de Taringa.

Explicaicon corta
  • for = con este bucle vamos a recorrer todos los elementos que se encuentran dentro de la respuesta que obtuvimos, pero debemos especificar que es lo que queremos obtener.
  • nombre.text = Aqui indicamos que solo queremos sacar el texto que se encuentra dentro del link
  • nombre.attr("href") = Aqui indicamos que queremos el url

v6v76oE.png


Paso 8: Probamos el código y si todo salio perfecto deberíamos obtener una respuesta similar a esta.
dAf3XJq.png


Click aqui para descargar el codigo fuente del proyecto
Pues eso es todo y espero que sea de utilidad para algunos de ustedes.

Saludos y suerte

 
Última edición:
Uff años sin programar en Java!
 
Yo nunca he programado en java [MENTION=143588]Beto87[/MENTION] pero es muy similar a visual basic net con la librería htmlagilitypack gracias por compartir 🙂

PD: Podrías arreglar el enlace de descarga pues me sale que Necesitas permiso :s

Saludos 😀
 
Yo nunca he programado en java [MENTION=143588]Beto87[/MENTION] pero es muy similar a visual basic net con la librería htmlagilitypack gracias por compartir 🙂

PD: Podrías arreglar el enlace de descarga pues me sale que Necesitas permiso :s

Saludos 😀

Link corregido y si es muy similar al htmlagilitypack
saludos y suerte
 
[MENTION=143588]Beto87[/MENTION] A favoritos, que lindo lenguaje parece 😛7:
 
Gracias por compartir, diario se aprende algo nuevo.
 
Gracias por el aporte :encouragement:
 
Gracias por el aporte, le daré un vistazo a ver que tal, quería aprender algo sobre java 😀
 
Gracias por el tutorial, tienes mi " ME AGRADA " :encouragement:
 
Gracias por compartir amigo, ya vere en que pagina lo utilizo :love_heart:
 
[MENTION=143588]Beto87[/MENTION] A favoritos, que lindo lenguaje parece 😛7:

Gracias por compartir, diario se aprende algo nuevo.

Gracias por el aporte :encouragement:

Gracias por el aporte, le daré un vistazo a ver que tal, quería aprender algo sobre java 😀

Gracias por el tutorial, tienes mi " ME AGRADA " :encouragement:

Gracias por compartir amigo, ya vere en que pagina lo utilizo :love_heart:

Que bueno que les funcione, ahora mismo estoy trabajando en otro tutorial para publicar contenido en WordPress, esperando que este les sirva a varios de aqui.

Saludos y recuerda deja el me gusta si te funciona
 
Excelente :encouragement:
 
Que bueno que les funcione, ahora mismo estoy trabajando en otro tutorial para publicar contenido en WordPress, esperando que este les sirva a varios de aqui.

Saludos y recuerda deja el me gusta si te funciona
yo espero el tutorial para postear en wordpress
gracias.
 
Atrás
Arriba