Html Agility Pack: Finde Kommentarknoten

c# html html-agility-pack web-scraping xpath

Frage

Ich kratze eine Website, die Javascript verwendet, um den Inhalt einer Website mit dem Html Agility-Paket dynamisch zu füllen.

Im Grunde suchte ich nach dem XPATH "\\div[@class='PricingInfo']" , aber dieser div-Knoten wurde über Javascript in das DOM geschrieben.

Wenn ich also die Seite über das Html Agility-Paket lade, kann der oben erwähnte XPATH nicht gefunden werden.

Es stellt sich heraus, dass vor einem bestimmten Skriptblock, den ich analysieren möchte, ein Kommentar steht.

<!--Module 328 Buying Options Table-->
<script type="text/javascript" language="JavaScript">
    var data = {
        price: 30.00
    }
</script>

Für diese Site gibt es viele Skriptblöcke, und daher müsste ich sie eingrenzen, indem ich diesen automatisch generierten Kommentar finde <!--Module 328 Buying Options Table--> und das Geschwister dieses Knotens wäre der korrekte Skriptblock .

Irgendeine Idee, wie ich nach einem bestimmten Kommentar suchen und dann nur den angrenzenden Skriptblock bekommen kann?

Vielen Dank!

Akzeptierte Antwort

htmlDoc.DocumentNode.SelectSingleNode("//comment()[contains(., 'Buying Options')]/following-sibling::script")



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum