Extraire des emails à partir de HTML en utilisant HtmlAgilityPack

c# html-agility-pack selectnodes

Question

Comment puis-je extraire l'adresse électronique et l'adresse du site Web à l'aide de HtmlAgilityPack dans ce code HTML:

<a class="email" href="mailto:babaie@irandoc.ac.ir">

<a class="" href="http://www.babaie.ir" target="_blank">www.babaie.ir</a>

J'ai essayé ce code mais cela ne fonctionne pas pour le courrier électronique:

<a class="email" href="mailto:babaie@irandoc.ac.ir">

<a class="" href="http://www.babaie.ir" target="_blank">www.babaie.ir</a>

Réponse populaire

Recevoir un email:

var a = doc.DocumentNode.SelectSingleNode("//a[@class='email']");
if (a != null)
{
    string href = a.Attributes["href"].Value; // TODO: Check if href exists
    string email = href.Replace("mailto:", "");
}

Il n'est pas clair en quoi l'adresse de votre site Web diffère des autres balises d'ancrage (pas de classe ni d'identifiant spécifique ici), aussi le code suivant renverra tous les liens href de toutes les ancres de votre code HTML:

var a = doc.DocumentNode.SelectSingleNode("//a[@class='email']");
if (a != null)
{
    string href = a.Attributes["href"].Value; // TODO: Check if href exists
    string email = href.Replace("mailto:", "");
}



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi