gpt4 book ai didi

c# - 使用 HTML Agility Pack 抓取元标签和评论

转载 作者:行者123 更新时间:2023-11-30 13:42:41 25 4
gpt4 key购买 nike

我一直在寻找有关使用 HTML Agility Pack 的教程,因为它似乎可以完成我想要它做的所有事情,但似乎对于如此强大的工具,Internet 上几乎没有关于它的噪音。

我正在编写一个简单的方法,它将根据名称检索任何给定的标签:

public string[] GetTagsByName(string TagName, string Source) {
...
}

这可以使用正则表达式轻松完成,但我们都知道使用正则表达式来解析 HTML 是不对的。到目前为止,我有以下代码:

...
// TODO: Clear Comments (can this be done or should I use RegEx?)
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(Source);
ArrayList tags = new ArrayList();
string xpath = "//" + TagName;
foreach (HtmlTextNode node in doc.DocumentNode.SelectNodes(xpath) {
tags.Add(node.Text);
}
return (string[])tags.ToArray(typeof(String));

我希望能够首先从 HTML 中删除所有评论,然后根据其名称返回正确的标签。如果可能的话,我还想根据属性返回某些元标记,例如 robot。我对 xpath 不是很好,所以任何帮助都会很好。

如有任何帮助,我们将不胜感激。

最佳答案

HtmlAgilityPack 的 HtmlDocument 实现 IXpathNavigable ,因此它使用标准的 .NET XPath 引擎。任何 XPath 1.0 文档都将适用,尤其是当它谈到 System.Xml.XPath 时。

"//comment()"查找所有评论
"//meta"查找所有 "meta"元素

HtmlDocument 的设计看起来很像 XmlDocument ,因此有关它的示例和教程将在一定程度上适用。

一些 MSDN 链接:

关于c# - 使用 HTML Agility Pack 抓取元标签和评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2354653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com