- Eine HTML‑Parsing‑Bibliothek
- Eine Klassenbibliothek zum Parsen von HTML mit XPath
- Es empfiehlt sich, sich zunächst grob mit XPath vertraut zu machen
- Mit XPath lassen sich Knoten‑ und Attributwerte aus XML über Pfadausdrücke auslesen
- Es handelt sich um eine Open‑Source‑.NET‑Bibliothek
- Ehemalige Quellcode‑Adresse:http://htmlagilitypack.codeplex.com/
Der offizielle Quellcode liegt heute auf GitHub:https://github.com/zzzprojects/html-agility-pack
Html Agility Pack ist eine der bekanntesten Open‑Source‑Bibliotheken für HTML‑Parsing im .NET‑Ökosystem. Sie ist in C# geschrieben und wird häufig für Web‑Scraping, HTML‑Inhaltsextraktion und das Bearbeiten von HTML‑Dokumenten verwendet.
Größter Vorteil:Verarbeitung von fehlerhaftem oder unvollständigem HTML (Die meisten Webseiten sind kein gültiges XML. Das Standard‑XmlDocument scheitert daran, HAP behebt solche Probleme automatisch).
XPath wurde ursprünglich für XML‑Abfragen entwickelt. Nachdem HAP HTML zu einem DOM‑Baum geladen hat, können Sie ebenfalls XPath‑Syntax zur Knotensuche nutzen:
- Mit Pfadausdrücken Tags filtern, Texte holen und Attribute extrahieren
- Häufig genutzte Methoden:
SelectSingleNode("xpath‑Ausdruck"): Gibt das erste passende Knotenelement zurückSelectNodes("xpath‑Ausdruck"): Gibt alle passenden Knotenelemente zurück
Sie müssen den Quellcode nicht manuell herunterladen, installieren Sie einfach das Paket über NuGet
Install-Package HtmlAgilityPack
Unterstützt gängige .NET‑Plattformen: .NET Framework, .NET Core, .NET 5‑.NET9, MAUI u.v.m.
Hier ein einfaches Beispiel: Erstellen Sie eine Konsolenanwendung in Visual Studio
Fügen Sie anschließend diesen Code in die Main‑Methode ein
using HtmlAgilityPack;
//1.HTML‑Text laden
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml("HTML‑Zeichenkette der Webseite");
//2.Elemente per XPath abfragen
HtmlNode titleNode = htmlDoc.DocumentNode.SelectSingleNode("//title");
string title = titleNode?.InnerText;Code-Sprache: C++ (cpp)
Damit können Sie Ihre HTML‑Zeichenkette parsen.
Einführung