Kurzfassung: Für Web-Scraping in C# starten Sie mit .NET 10, dem integrierten HttpClient zum Herunterladen von Seiten und AngleSharp zum Parsen von HTML mit CSS-Selektoren. Wählen Sie HtmlAgilityPack, wenn Sie XPath bevorzugen oder älteren Code pflegen, und ergänzen Sie Playwright für .NET, wenn JavaScript die Seite aufbaut. Dieser Leitfaden baut einen Scraper mit höflichen Wiederholungen, begrenztem Crawling, CSV- und JSON-Export sowie Offline-Tests.
Web-Scraping in C# beginnt mit einem bekannten Problem: Die benötigten Daten befinden sich auf einer Webseite, und Sie möchten sie als typisierte C#-Objekte erhalten, ohne die .NET-Umgebung zu verlassen. Unter .NET 10 enthält die Plattform bereits das meiste, was Sie benötigen, und die wenigen fehlenden Teile sind ausgereifte NuGet-Pakete.
In dieser Anleitung erstellen Sie Schritt für Schritt einen kleinen Scraper. Sie werden eine Seite mit AngleSharp (oder HtmlAgilityPack, falls Sie XPath bevorzugen) parsen, die Daten höflich mit einem HttpClient , das 429-Antworten auf die richtige Weise erneut versucht, paginierte Listen mit begrenzter Parallelität durchforsten und die Daten als CSV und JSON exportieren. Anschließend extrahieren Sie Daten, die von JavaScript generiert werden, rendern Seiten mit Playwright für .NET, leiten blockierte Seiten an eine Scraper-API weiter, ohne Ihren Parser zu verändern, und testen das Ganze offline. Die Beispiele verwenden zwei öffentliche Übungsseiten, die speziell für das Scraping erstellt wurden: „Books to Scrape“ und die /js/ Version von „Quotes to Scrape“.
Schnellstart – Installiere das .NET 10 SDK und erstelle eine Konsolenanwendung mitdotnet new console. – Fügen Sie einen Parser hinzu:dotnet add package AngleSharp. – Abrufen mitHttpClient.GetStringAsync(), wählen Sie mitQuerySelectorAll()und extrahieren Sie mitTextContentundGetAttribute(). – Verwenden Sie Playwright für .NET, wenn JavaScript die Seite aufbaut.




