Desarrollar un Crawler simple con C#
Lo primero que tenemos que hacer es un proyecto
nuevo con Visual Studio. En mi caso vamos a usar Visual Studio 2019. El proyecto
lo vamos a desarrollar usando C#. Vamos a hacer un Console app el cual le vamos
a llamar SimpleCrawler.
El proyecto va a hacer. netcore 3.1
Cuando el proyecto esta listo vamos a buscar en
NuGet el paquete HtmlAgilityPack y lo vamos a instalar.
Con este paquete
instalado lo primero que vamos a hacer en la clase Main es importar las librerías
necesarias para crear nuestro crawler
Ahora vamos
a ver como se construye el código para ir navegando en el contenido de la página
web.
Ahora, en la línea 12 tenemos que copiar el URL
de la página web que deseamos escanear. Con esto vamos a crear un cliente Http
para leer el documento web como se puede ver en la línea 14. Ya en la línea 16 obtenemos
el contenido del documento de Html. Este al final lo podemos obtener como si
fuera una variable string.
Ahora si ya con esto listo en la línea 18
creamos un objeto de tipo HtmlDocument del paquete AgilityPack. El cual nos va
a permitir convertir el documento que tenemos de tipo string a un objeto de
tipo AgilityPack. Esto lo cargamos en la línea 19.
Para poder leer todos los links usamos la línea
21 el cual usa el document que creamos anteriormente y cargamos todos los nodos.
De estos nodos que cargamos vamos a seleccionar únicamente los anchor (links).
En la línea 23 vamos a recorrer todos los
resultados encontrados en la línea 21 y vamos a ir uno por uno mostrando el
contenido de cada uno de estos. Usando la propiedad OuterHtml que tenemos en la
línea 24.
Lo que nos da como resultado lo siguiente
Aquí podemos ver todos los links que tiene la página
web. Ahora cada uno podría hacer lo que necesita con estos links.
Podemos recordar que con este paquete podemos
buscar cualquier tipo de nodo que tenemos en los sitios web.
Etiquetas: .netcore, C#, development, programacion
0 comentarios:
Publicar un comentario
Suscribirse a Enviar comentarios [Atom]
<< Inicio