AngleSharp para C# (.NET): guia completo com exemplos práticos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

AngleSharp para C# (.NET): guia completo com exemplos práticos

AngleSharp é uma biblioteca moderna e de alto desempenho para parsing e manipulação de documentos HTML, CSS, XML e SVG no ecossistema .NET. Ela oferece aos desenvolvedores C# uma implementação completa do DOM (Document Object Model), muito próxima aos padrões W3C. Diferente de muitos outros parsers, o AngleSharp não apenas extrai dados de uma string — ele constrói uma árvore DOM completa, com a qual você pode trabalhar como faria em um navegador: localizar elementos por seletores, alterar atributos, adicionar ou remover nós e serializar o resultado de volta para HTML.

Por que usar essa biblioteca? No desenvolvimento web moderno e na automação, surge frequentemente a necessidade de analisar páginas HTML programaticamente. Isso pode incluir parsing de dados para análise, web scraping (extração de conteúdo de sites), testes de aplicações web, criação de geradores de sites estáticos ou até mesmo desenvolvimento de um motor de navegador próprio. O AngleSharp é ideal para essas tarefas, pois é totalmente escrito em C#, não possui dependências externas (além do .NET Standard) e é significativamente mais rápido do que, por exemplo, usar HtmlAgilityPack combinado com expressões regulares. Além disso, a biblioteca suporta seletores CSS, tornando a navegação pela árvore DOM intuitiva para qualquer desenvolvedor web.

Outra grande vantagem do AngleSharp é sua modularidade e extensibilidade. Você pode adicionar pacotes complementares para trabalhar com CSS, motores JavaScript (como Jint) ou parsing de SVG. A biblioteca é ativamente mantida pela comunidade, possui documentação detalhada e é usada em produção por muitas empresas. Neste guia, vamos abordar em detalhes a instalação, os principais métodos e classes, além de apresentar um exemplo real de parsing de uma página web.

Instalação

O AngleSharp é distribuído via NuGet, o gerenciador de pacotes do .NET. Você pode instalá-lo de duas formas:

Via .NET CLI (recomendado)

dotnet add package AngleSharp

Via Package Manager Console no Visual Studio

Install-Package AngleSharp

Para trabalhar com parsing de CSS, instale também o pacote adicional:

dotnet add package AngleSharp.Css

Após a instalação, adicione as diretivas using no seu código:

using AngleSharp;
using AngleSharp.Dom;
using AngleSharp.Html.Parser;

Início rápido — exemplo mínimo funcional

Vamos escrever um programa simples que carrega uma string HTML e extrai o título (tag <h1>):

using AngleSharp;
using AngleSharp.Html.Parser;

// 1. Criamos o parser
var parser = new HtmlParser();

// 2. Fazemos o parsing da string HTML em um documento DOM
var html = @"<!DOCTYPE html>
<html>
<head><title>Página de teste</title></head>
<body>
    <h1>Olá, AngleSharp!</h1>
    <p>Este é um parágrafo de texto.</p>
</body>
</html>";

var document = parser.ParseDocument(html);

// 3. Localizamos o elemento h1 e exibimos seu texto
var h1 = document.QuerySelector("h1");
Console.WriteLine(h1?.TextContent); // Exibe: Olá, AngleSharp!

// 4. Exibimos o HTML completo de volta (serialização)
Console.WriteLine(document.DocumentElement.OuterHtml);

Este exemplo demonstra o ciclo básico de trabalho com a biblioteca: parsing → localização do elemento → extração de dados. Observe que o método QuerySelector aceita um seletor CSS, o que é muito prático.

Principais métodos, classes e interfaces

O AngleSharp oferece uma API rica. Abaixo estão 8 elementos-chave que você usará em 90% dos casos.

1. HtmlParser — classe principal para parsing

Assinatura: public class HtmlParser : IHtmlParser

Recommendations