Web Scraping nos permite escanear los sitios web con el objetivo de poder extraer información relevante, muy usado hoy en día, en esta entrada veremos como podemos implementarlo con C# .net Core 3.1 para Twitter, todo con fines educativos claramente.
Empecemos
Lo primero que debemos crear es la aplicación de consola, a continuación instalamos "HtmlAgilityPack" desde Nuget Packages, en este enlace podemos ver la página oficial del proyecto, esta librería nos permite tratar más fácilmente las paginas web, acceder a diferentes partes del DOM.

Iniciamos definiendo la url del sitio que queremos examinar, para este caso "https://twitter.com/Twitter" acto seguido creamos nuestro objeto "HttpClient" que se encargará de hacer las llamadas http, este lo creamos desde una sentencia "using" que nos asegura que liberará los recursos una vez termine, hacemos la llamada usando "httpClient.GetAsync(url)" y verificamos que la llamada haya sido exitosa:
A continuación lo que haremos será leer la información retornada mediante: "response.Content.ReadAsStringAsync()" y guarderemos esta en un objeto "HtmlDocument", esta clase pertenece al paquete "HtmlAgilityPack" que instalamos y nos permitirá acceder fácilmente a los elementos que necesitamos.
Ahora vamos a usar esta herramienta, cargamos la respuesta en el objeto "HtmlDocument" mediante el método "LoadHtml" y accedemos al elemento que contiene la información que necesitamos mediante "GetElementbyId":
Ahora vamos a usar esta herramienta, cargamos la respuesta en el objeto "HtmlDocument" mediante el método "LoadHtml" y accedemos al elemento que contiene la información que necesitamos mediante "GetElementbyId":
Ahora que tenemos el componente que necesitábamos podemos almacenarlo en un objeto dinámico, al estar en formato json podemos convertirlo fácilmente en un objeto y mostrar la información que queremos:
Los pasos son: decodificar el texto que estaba en formato html para transformar los caracteres de escape en texto normal, este string resultante esta en formato JSON y podemos convertirlo en un objeto dinámico, de este podemos acceder al objeto usuario y finalmente mostrar la información.

Finalmente el código completo nos queda así:
Comentarios
Publicar un comentario