Apresentação

  • Uma biblioteca de análise de HTML
  • Uma biblioteca de classes para analisar HTML com XPath
  • Recomenda‑se conhecer o básico do XPath antes de começar
  • O XPath recupera valores de nós e atributos dentro de XML usando expressões de caminho
  • É uma biblioteca .NET de código aberto
  • Repositório antigo do código‑fonte:http://htmlagilitypack.codeplex.com/

O código‑fonte oficial está hospedado no GitHub:https://github.com/zzzprojects/html-agility-pack

Html Agility Pack é uma das bibliotecas open‑source mais consolidadas para análise HTML no ecossistema .NET. Desenvolvida em C#, é amplamente utilizada para raspagem de sites, extração de conteúdo HTML e modificação de documentos HTML.

Seu maior diferencial:suporta HTML incompleto ou com formatação inválida (a maioria das páginas da internet não seguem o padrão XML. O XmlDocument padrão não consegue processá‑las, enquanto o HAP faz tratamento automático de falhas).

O XPath foi originalmente criado para consultar documentos XML. Após o HAP carregar o HTML em uma árvore DOM, também é possível usar a sintaxe XPath para buscar nós:

  • Filtrar tags, extrair textos e atributos por meio de expressões de caminho
  • Métodos comuns:
    • SelectSingleNode("expressão xpath") : retorna o primeiro nó correspondente
    • SelectNodes("expressão xpath") : retorna todos os nós correspondentes

Não é necessário baixar o código‑fonte manualmente, basta instalar o pacote via NuGet

Install-Package HtmlAgilityPack

Suporta as principais plataformas .NET: .NET Framework, .NET Core, .NET 5‑.NET9, MAUI e outras.

Veja um exemplo simples. Crie um aplicativo de console no Visual Studio

Depois adicione o código abaixo dentro do método Main

using HtmlAgilityPack;

//1.Carregar texto HTML
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml("string HTML da página web");

//2.Consultar elementos com XPath
HtmlNode titleNode = htmlDoc.DocumentNode.SelectSingleNode("//title");
string title = titleNode?.InnerText;Code language: C++ (cpp)

Assim você consegue analisar a sua string HTML.

Apresentação

Next:

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *