Einführung

  • 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ück
    • SelectNodes("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

Next:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert