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
Também na biblioteca
Realm Kotlin: Guia completo com exemplos para Kotlin
Trabalho com datas em Kotlin: visão geral de bibliotecas e ferramentas
Internacionalização (i18n) em Swift para iOS e macOS
Cliente Redis para Java: Jedis, Lettuce e Redisson — visão geral e exemplos
openai-api-rs para Rust: guia completo com exemplos práticos
Recommendations