Ler HTML C#

Ler HTML em C# abre um mundo de possibilidades para você interagir com conteúdo da web em aplicativos C# .NET. Você pode analisar ou navegar facilmente em documentos HTML para extração simples de dados ou tarefas complexas de web scraping em C# para processar conteúdo HTML. Conseqüentemente, esta postagem do blog aborda como ler HTML em C# e, ao mesmo tempo, aborda diferentes abordagens para carregar conteúdo HTML e analisar a string HTML com base em seus requisitos.

Configurar a API do leitor HTML em C#

Você pode baixar facilmente a API da seção New Releases ou instalar Conholdate.Total for .NET da galeria NuGet executando o seguinte comando de instalação no Package Manager Console no Visual Studio:

PM> NuGet\Install-Package Conholdate.Total

Leia um arquivo HTML em C#

HTML (Hypertext Markup Language) é a espinha dorsal das páginas web, responsável por definir a estrutura e o conteúdo dos sites. É composto por elementos representados por tags, cada um atendendo a uma finalidade específica. Quando você acessa uma página da web, seu navegador interpreta o código HTML e o renderiza em um layout visual com o qual você pode interagir. Para ler e manipular conteúdo HTML em C#, você pode analisar e navegar em documentos HTML seguindo as etapas abaixo:

  • Carregue o arquivo HTML de origem com a instância da classe HTMLDocument.
  • Leia o conteúdo HTML usando a propriedade OuterHTML.

O trecho de código abaixo demonstra como ler um arquivo HTML usando C#:

string documentPath = "document.html";

// Carregar um arquivo HTML
var document = new HTMLDocument(documentPath);

// Grave o conteúdo do documento no fluxo de saída
Console.WriteLine(document.DocumentElement.OuterHTML);

Você precisa seguir as etapas abaixo para navegar em um arquivo HTML e ler o conteúdo HTML em C#:

  • Prepare o código HTML e inicie o objeto da classe HTMLDocument.
  • Obtenha a referência ao primeiro filho (primeiro SPAN) do BODY.
  • Navegue pelos nós filhos e extraia informações.

O exemplo de código a seguir mostra como navegar pelos nós HTML para ler conteúdos HTML em C#:

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

// Inicialize um documento a partir do código preparado
using (var document = new Aspose.Html.HTMLDocument(html_code, "."))
{
    // Obtenha a referência ao primeiro filho (primeiro SPAN) do BODY
    var element = document.Body.FirstChild;
    Console.WriteLine(element.TextContent); // output: Hello

    // Obtenha a referência ao espaço em branco entre os elementos HTML
    element = element.NextSibling;
    Console.WriteLine(element.TextContent); // output: ' '

    // Obtenha a referência ao segundo elemento SPAN
    element = element.NextSibling;
    Console.WriteLine(element.TextContent); // output: World!
}

Leia o arquivo HTML como string em C#

Você pode ler arquivos HTML como uma string em C# de qualquer URL com as seguintes etapas:

  • Inicialize o objeto da classe HTMLDocument com URL.
  • Leia o conteúdo do texto no formato HTML.
  • Escreva o arquivo TXT com o texto extraído do HTML via URL.

O exemplo de código abaixo explica como ler um arquivo HTML como String em C# a partir de qualquer URL:

// Inicialize o objeto HTMLDocument com URL
HTMLDocument document = new HTMLDocument("https://products.aspose.com/html/net");
            
// Leia o conteúdo do texto no formato HTML
String text = document.Body.TextContent;
            
// Escreva o arquivo TXT com o texto extraído
File.WriteAllText("Webpage.txt", text);

Licença de avaliação gratuita

Você pode obter uma licença temporária gratuita para evitar quaisquer limitações de avaliação.

Resumindo

Ser capaz de ler HTML em C# é uma habilidade valiosa para trabalhar em projetos relacionados à Web e tarefas de extração de dados. Nesta postagem do blog, cobrimos três abordagens diferentes para leitura de HTML em C#. Isso permite que você extraia ou analise informações de páginas HTML para processamento posterior. No entanto, você pode explorar muitos outros recursos oferecidos pela API e sinta-se à vontade para entrar em contato conosco no fórum.

Veja também