En resumen: Para hacer web scraping en C#, empieza en .NET 10 con el HttpClient integrado para descargar páginas y AngleSharp para analizar HTML con selectores CSS. Elige HtmlAgilityPack si prefieres XPath o mantienes código antiguo, y añade Playwright para .NET cuando JavaScript construye la página. Esta guía crea un scraper con reintentos respetuosos, rastreo acotado, exportación a CSV y JSON y pruebas sin conexión.
El web scraping en C# parte de un problema habitual: los datos que necesitas se encuentran en una página web y quieres obtenerlos como objetos tipados de C# sin salir de .NET. En .NET 10, la plataforma ya incluye la mayor parte de lo que necesitas, y las pocas piezas que faltan son paquetes NuGet consolidados.
Esta guía te enseña a crear un pequeño rastreador paso a paso. Analizarás una página con AngleSharp (o HtmlAgilityPack, si prefieres XPath), obtendrás los datos de forma correcta con un HttpClient que reintenta correctamente las respuestas 429, rastrearás listados paginados con concurrencia limitada y exportarás a CSV y JSON. A continuación, extraerás datos generados por JavaScript, renderizarás páginas con Playwright para .NET, pasarás las páginas bloqueadas a una API de scraper sin tocar tu analizador sintáctico y lo probarás todo sin conexión. Los ejemplos utilizan dos sitios web públicos creados para la extracción de datos: Books to Scrape y la /js/ versión de Quotes to Scrape.
Inicio rápido: instala el SDK de .NET 10 y crea una aplicación de consola condotnet new console. - Añade un analizador:dotnet add package AngleSharp. - Recupera conHttpClient.GetStringAsync(), selecciona conQuerySelectorAll(), y extrae conTextContentyGetAttribute(). - Utiliza Playwright para .NET cuando JavaScript genere la página.




