AngleSharp C# (.NET) : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

AngleSharp pour C# (.NET) : guide complet avec exemples

AngleSharp est une bibliothèque moderne et performante pour l'analyse et la manipulation de documents HTML, CSS, XML et SVG dans l'écosystème .NET. Elle offre aux développeurs C# une implémentation complète du DOM (Document Object Model), fidèle aux standards du W3C. Contrairement à de nombreux autres parseurs, AngleSharp ne se contente pas d'extraire des données d'une chaîne de caractères : il construit un arbre DOM complet, avec lequel vous pouvez interagir comme dans un navigateur : rechercher des éléments par sélecteurs, modifier des attributs, ajouter ou supprimer des nœuds, et sérialiser le résultat en HTML.

Pourquoi utiliser cette bibliothèque ? Dans le développement web moderne et l'automatisation, il est souvent nécessaire d'analyser des pages HTML par programmation. Cela inclut le parsing de données pour l'analyse, le web scraping (extraction de contenu de sites), les tests d'applications web, la création de générateurs de sites statiques, ou même le développement d'un moteur de navigateur. AngleSharp est parfait pour ces tâches : entièrement écrit en C#, sans dépendances externes (hormis .NET Standard), et bien plus rapide que, par exemple, l'utilisation d'HtmlAgilityPack combiné à des expressions régulières. De plus, la bibliothèque prend en charge les sélecteurs CSS, rendant la navigation dans l'arbre DOM intuitive pour tout développeur web.

Un autre avantage majeur d'AngleSharp est sa modularité et son extensibilité. Vous pouvez ajouter des packages supplémentaires pour travailler avec CSS, des moteurs JavaScript (comme Jint), ou pour parser du SVG. La bibliothèque est activement maintenue par la communauté, dispose d'une documentation détaillée et est utilisée en production par de nombreuses entreprises. Dans ce guide, nous allons détailler l'installation, les méthodes et classes principales, et fournir un exemple concret de parsing d'une page web.

Installation

AngleSharp est distribué via NuGet, le gestionnaire de packages pour .NET. Vous pouvez l'installer de deux manières :

Avec .NET CLI (recommandé)

dotnet add package AngleSharp

Avec la console du gestionnaire de packages dans Visual Studio

Install-Package AngleSharp

Pour le parsing CSS, installez également le package suivant :

dotnet add package AngleSharp.Css

Après l'installation, ajoutez les directives using dans votre code :

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

Démarrage rapide — exemple minimal fonctionnel

Écrivons un programme simple qui charge une chaîne HTML et en extrait le titre (balise <h1>) :

using AngleSharp;
using AngleSharp.Html.Parser;

// 1. Création du parseur
var parser = new HtmlParser();

// 2. Parsing de la chaîne HTML en document DOM
var html = @"<!DOCTYPE html>
<html>
<head><title>Page de test</title></head>
<body>
    <h1>Bonjour, AngleSharp !</h1>
    <p>Ceci est un paragraphe.</p>
</body>
</html>";

var document = parser.ParseDocument(html);

// 3. Recherche de l'élément h1 et affichage de son texte
var h1 = document.QuerySelector("h1");
Console.WriteLine(h1?.TextContent); // Affiche : Bonjour, AngleSharp !

// 4. Affichage du HTML complet (sérialisation)
Console.WriteLine(document.DocumentElement.OuterHtml);

Cet exemple illustre le cycle de base avec la bibliothèque : parsing → recherche d'élément → extraction de données. Notez que la méthode QuerySelector accepte un sélecteur CSS, ce qui est très pratique.

Méthodes, classes et interfaces principales

AngleSharp propose une API riche. Voici 8 éléments clés dont vous aurez besoin dans 90 % des cas.

1. HtmlParser — la classe principale pour le parsing

Signature : public class HtmlParser : IHtmlParser

Recommendations