Seleziona il valore "src" con XPath in HtmlAgilityPack

c# html-agility-pack xpath

Domanda

Sono in un processo di sviluppo di un motore di scansione. Il mio programma esegue la scansione dei siti Web tramite Xpath con HtmlAgilityPack. Ho bisogno di ottenere alcuni tag immagine src direttamente. Puoi vedere il mio semplice codice sotto il quale non funziona correttamente, grazie nel consiglio!

PS: Ignora il problema "char", i modelli XPath sono forniti dal database.

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

E questa è la linea che ho bisogno di scansionare (la parte *...* mostra il blocco da estrarre

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

Alcune pagine forniscono immagini nei metatag e quindi. Gli .Attributes["src"] non funzionano.

AGGIORNAMENTO: puoi vedere la mia query e il risultato qui domanda

Risposta popolare

Non puoi ottenere il valore di "src" o altri attributi nell'utilizzo di:

Agility.DocumentNode.SelectSingleNode(yourXpath);

Solo usando:

Agility.DocumentNode.SelectSingleNode(yourXpath);

È perché XPath non può restituire il valore di un attributo dalla funzione SelectSingleNode () nella classe HtmlAgilityPack. Quindi è necessario utilizzare SelectSingleNode(yourXpath).value o utilizzare Regex dopo il pharsing per ottenere solo "src" senza outerText.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché