Leer HTML C#

Leer HTML en C# abre un mundo de posibilidades para interactuar con contenido web en aplicaciones C# .NET. Puede analizar o navegar fácilmente por documentos HTML para una extracción de datos simple o tareas complejas de raspado web en C# para procesar contenido HTML. En consecuencia, esta publicación de blog cubre cómo leer HTML en C# y al mismo tiempo cubre diferentes enfoques para cargar contenido HTML y analizar la cadena HTML según sus requisitos.

Configurar la API del lector HTML en C#

Puede descargar fácilmente la API desde la sección Nuevas versiones o instalar Conholdate.Total para .NET desde la galería NuGet ejecutando el siguiente comando de instalación en Package Manager Console en Visual Studio:

PM> NuGet\Install-Package Conholdate.Total

Leer un archivo HTML en C#

HTML (Lenguaje de marcado de hipertexto) es la columna vertebral de las páginas web, responsable de definir la estructura y el contenido de los sitios web. Consta de elementos representados por etiquetas, cada una de las cuales tiene un propósito específico. Cuando accede a una página web, su navegador interpreta el código HTML y lo presenta en un diseño visual con el que puede interactuar. Para leer y manipular contenido HTML en C#, puede analizar y navegar por documentos HTML siguiendo los pasos a continuación:

  • Cargue el archivo HTML de origen con la instancia de la clase HTMLDocument.
  • Lea el contenido HTML utilizando la propiedad OuterHTML.

El siguiente fragmento de código demuestra cómo leer un archivo HTML usando C#:

string documentPath = "document.html";

// Cargar un archivo HTML
var document = new HTMLDocument(documentPath);

// Escriba el contenido del documento en el flujo de salida.
Console.WriteLine(document.DocumentElement.OuterHTML);

Debe seguir los pasos a continuación para navegar por un archivo HTML y leer el contenido HTML en C#:

  • Prepare el código HTML e inicie el objeto de clase HTMLDocument.
  • Obtenga la referencia al primer hijo (primer SPAN) del BODY.
  • Navegue por los nodos secundarios y extraiga información.

El siguiente ejemplo de código muestra cómo navegar por los nodos HTML para leer contenidos HTML en C#:

// Preparar código HTML
var html_code = "<span>Hello</span> <span>World!</span>";

// Inicializar un documento a partir del código preparado
using (var document = new Aspose.Html.HTMLDocument(html_code, "."))
{
    // Obtener la referencia al primer hijo (primer SPAN) del BODY
    var element = document.Body.FirstChild;
    Console.WriteLine(element.TextContent); // output: Hello

    // Obtener la referencia al espacio en blanco entre elementos html
    element = element.NextSibling;
    Console.WriteLine(element.TextContent); // output: ' '

    // Obtener la referencia al segundo elemento SPAN.
    element = element.NextSibling;
    Console.WriteLine(element.TextContent); // output: World!
}

Leer archivo HTML como cadena en C#

Puede leer archivos HTML como una cadena en C# desde cualquier URL con los siguientes pasos:

  • Inicialice el objeto de clase HTMLDocument con URL.
  • Lea el contenido del texto en formato HTML.
  • Escriba el archivo TXT con texto extraído de HTML a través de URL.

El siguiente ejemplo de código explica cómo leer un archivo HTML como cadena en C# desde cualquier URL:

// Inicializar el objeto HTMLDocument con URL
HTMLDocument document = new HTMLDocument("https://products.aspose.com/html/net");
            
// Leer el contenido del texto en formato HTML.
String text = document.Body.TextContent;
            
// Escribe el archivo TXT con el texto extraído.
File.WriteAllText("Webpage.txt", text);

Licencia de evaluación gratuita

Puede obtener una licencia temporal gratuita para evitar limitaciones de evaluación.

Resumiendo

Ser capaz de leer HTML en C# es una habilidad valiosa para trabajar en proyectos relacionados con la web y tareas de extracción de datos. En esta publicación de blog, cubrimos tres enfoques diferentes para leer HTML en C#. Esto le permite extraer o analizar información de páginas HTML para su posterior procesamiento. Sin embargo, puede explorar muchas otras funciones que ofrece la API y no dude en comunicarse con nosotros en el foro.

Ver también