Wählen Sie "src" -Wert mit XPath to HtmlAgilityPack

c# html-agility-pack xpath

Frage

Ich arbeite gerade an einem Crawling-Engine-Entwicklungsprozess. Mein Programm crawlt Websites über Xpath mit HtmlAgilityPack. Ich muss ein Bild src Tag direkt erhalten. Sie können meinen einfachen Code unten sehen, der nicht richtig funktioniert, danke im Rat!

PS: Bitte ignorieren "Char Problem, XPath-Muster werden von der Datenbank zur Verfügung gestellt.

Agility.DocumentNode.SelectSingleNode("//img[@id="product_photo"]/@src");

Und das ist die Zeile, die ich crawlen muss (der *...* Teil zeigt Block zum Extrahieren)

<img id="product_photo" src="*/images/thumb/4400/10280/st.jpg*">

Einige Seiten bieten Bilder in Meta-Tags, so dass .Attributes["src"] nicht funktionieren.

UPDATE: Sie können meine Abfrage und das Ergebnis hier sehen Abfrage

Beliebte Antwort

Sie können den Wert von "src" oder andere Attribute nicht erhalten, wenn Sie Folgendes verwenden:

Agility.DocumentNode.SelectSingleNode(yourXpath);

Nur mit:

string s=Agility.DocumentNode.SelectSingleNode(yourXpath).value;

Dies liegt daran, dass XPath keinen Wert eines Attributs durch die Funktion SelectSingleNode () in der HtmlAgilityPack-Klasse zurückgeben kann. Also müssen Sie SelectSingleNode(yourXpath).value oder Regex nach dem pharsing verwenden, um nur den "src" ohne den upperText zu erhalten.



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