11
votes

Comment obtenir IMG / SRC ou A / HREFS à l'aide de HTML Agility Pack?

Je souhaite utiliser le pack d'agilité HTML pour analyser l'image et les liens HREF à partir d'une page HTML, mais je ne sais tout simplement pas grand chose sur XML ou XPath.bréler d'avoir la recherche de documents d'aide sur de nombreux sites Web, je peux juste être ' t résoudre le problème.in addition, j'utilise c # dans VisualStudio 2005.Et je ne peux tout simplement pas parler anglais couramment, alors je vais donner mes sincères remerciements à celui qui peut écrire des codes utiles.


1 commentaires

Et, le pack d'agilité HTML peut-il résoudre des chemins relatifs?


5 Réponses :


26
votes

Le Premier exemple sur la page d'accueil fait quelque chose de très similaire, mais envisagez: < Pré> xxx

Vous pouvez donc imaginer que pour img @ src, il suffit de remplacer chaque A avec img et href avec src . Vous pourriez même être capable de simplifier: xxx

pour la manipulation de l'URL relative, consultez la classe URI


1 commentaires

Je reçois une erreur: la documentation n'existe pas dans l'objet HTMLDOCUMUME pour 1.4.0.0 Version HTMLagilityPack Foreach (lien htmlnode dans doc.documentnode.selectNodes ("// A [@href]")) {htmlattribute att = link.attributes ["href"] ;



7
votes

L'exemple et la réponse acceptée est fausse. Il ne compile pas avec la dernière version. J'essaie autre chose: xxx

cela fonctionne pour moi.


0 commentaires

2
votes

Peut-être que je suis trop tard ici pour poster une réponse. Les suivants ont fonctionné pour moi:

var MainImageString  = MainImageNode.Attributes.Where(i=> i.Name=="src").FirstOrDefault();


0 commentaires


1
votes
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);

string name = htmlDoc.DocumentNode
    .SelectNodes("//td/input")
    .First()
    .Attributes["value"].Value;
Source:
https://html-agility-pack.net/select-nodes

0 commentaires