En bref : Pour le web scraping en C#, commencez sur .NET 10 avec le HttpClient intégré pour télécharger les pages et AngleSharp pour analyser le HTML avec des sélecteurs CSS. Choisissez HtmlAgilityPack si vous préférez XPath ou maintenez du code plus ancien, et ajoutez Playwright pour .NET lorsque JavaScript construit la page. Ce guide construit un scraper avec des relances respectueuses, un crawl borné, un export CSV et JSON et des tests hors ligne.
Le web scraping en C# part d’un problème bien connu : les données dont vous avez besoin se trouvent sur une page web, et vous souhaitez les obtenir sous forme d’objets C# typés sans sortir de l’environnement .NET. Sous .NET 10, la plateforme fournit déjà l’essentiel de ce dont vous avez besoin, et les quelques éléments manquants sont des packages NuGet éprouvés.
Ce guide vous explique, étape par étape, comment créer un petit scraper. Vous allez analyser une page avec AngleSharp (ou HtmlAgilityPack, si vous préférez XPath), récupérer les données de manière « polie » à l’aide d’un HttpClient qui gère correctement les réponses 429 en effectuant des tentatives de reconnexion, vous explorerez des listes paginées avec une concurrence limitée, puis vous exporterez les données au format CSV et JSON. Vous extrairez ensuite des données générées par JavaScript, vous rendrez des pages avec Playwright pour .NET, vous transmettrez les pages bloquées à une API de scraping sans modifier votre analyseur, et vous testerez le tout hors ligne. Les exemples utilisent deux sites publics d’entraînement conçus pour le scraping : Books to Scrape et la /js/ version de Quotes to Scrape.
Démarrage rapide - Installez le SDK .NET 10 et créez une application console avecdotnet new console. - Ajoutez un analyseur :dotnet add package AngleSharp. - Récupérez les données avecHttpClient.GetStringAsync(), sélectionnez avecQuerySelectorAll(), puis extrayez avecTextContentetGetAttribute(). - Utilisez Playwright pour .NET lorsque JavaScript génère la page.




