要从 HTML 文档(或片段)中查找特定节点或获取节点的属性值,您可以使用 AgilityPack。此外,要从字符串中提取特定信息,您可以使用正则表达式、字符串函数等。这取决于您要提取的信息类型。
要抓取电子邮件地址,或者只是数字,我会使用正则表达式(例如 from here)。
以下是有关如何从您提供的 HTML 片段中抓取电子邮件地址的示例:
var regex = new Regex(
@"\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b",
RegexOptions.IgnoreCase
);
var html = @"<a href='#' onclick='displayEmail(this, ""support@company.com"")'>Send Email</a>";
var doc = new HtmlDocument();
doc.LoadHtml(html);
// just an example on how to get node's attribute value
// your selectors could be completely different
var onclick = doc.DocumentNode.SelectSingleNode("a").Attributes["onclick"].Value;
var email = regex.Match(onclick);