Comment puis-je obtenir une seule image d'un site Web à l'aide de HtmlAgilityPack ?
J'essaie de gratter un magasin en utilisant HtmlAgilityPack, j'ai le titre du produit, le prix, le stock mais il me manque l'image. J'ai cherché comment obtenir des images à l'aide d'Agility Pack, mais tout ce que j'ai trouvé, c'est comment obtenir toutes les images du site Web, pas une seule. J'ai essayé de sélectionner le nœud unique où se trouve l'image, en faisant quelque chose comme ceci: var imgNode = doc.DocumentNode.SelectSingleNode("//div[@class = 'featured']");
En faisant cela, la valeur imgNode est égale à l'ensemble de l'élément html img id, mais je veux obtenir uniquement la source actuelle à partir de la valeur src. Le lien du magasin que j'essaie de gratter est le suivant : "https://www.fullh4rd.com.ar/prod/18381/monitor-27-gigabyte-g27fc-gaming-curvo-ips-165hz-hdmi-dp " Merci pour votre temps ^^
L' src
élément dans un élément html, lorsqu'il est considéré comme un simple attribut, peut être récupéré par sa propriété attributs.
Cependant, le code ci-dessus sélectionne un div, donc une fois que vous avez sélectionné l' img
élément enfant , vous pouvez accéder à sa source :
var imgContainer = document.DocumentNode.SelectSingleNode("//div[@class = 'featured']");
var imgNode = imgContainer.SelectSingleNode("//img");
var src = imgNode.Attributes["src"].Value;
Vous pouvez également trouver le img
directement en utilisant l'identifiant :
var imgContainer = document.DocumentNode.SelectSingleNode("//img[@id = 'mainpic']");
Console.WriteLine(imgContainer.Attributes["src"].Value);