Извлечение электронных писем из HTML с помощью HtmlAgilityPack
Как я могу извлечь адрес электронной почты и адрес веб-сайта, используя HtmlAgilityPack в этом HTML-коде:
<a class="email" href="mailto:babaie@irandoc.ac.ir">
<a class="" href="http://www.babaie.ir" target="_blank">www.babaie.ir</a>
Я пробовал этот код, но он не работает для электронной почты:
doc.DocumentNode.SelectNodes("//a[@href= ' ' ]");
1 ответ
Получение электронной почты:
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:", "");
}
Не ясно, чем адрес вашего сайта отличается от любых других тегов привязки (здесь нет конкретного класса или идентификатора), поэтому следующий код вернет все href
ссылки с любых якорей в вашем HTML:
var urls = doc.DocumentNode.SelectNodes("//a[@href]")
.Select(a => a.Attributes["href"].Value)
.Where(href => !href.StartsWith("mailto:")) // skip emails
.ToList();