解析完整网页
Parse Compelete Web Page
如何使用 HTML Agility Pack 或任何其他技术解析完整的 HTML 网页而非特定节点?
我正在使用这段代码,但这段代码只解析特定的节点,但我需要完整的页面来解析,内容清晰明了
List<string> list = new List<string>();
string url = "https://www.google.com";
HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load(url);
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//a"))
{
list.Add(node.InnerText);
}
做SelectNodes("*")
。 '*'(星号)是通配符选择器,将获取页面上的每个节点。
要获取所有后代文本节点,请使用类似
的方法
var textNodes = doc.DocumentNode.SelectNodes("//text()").
Select(t=>t.InnerText);
获取所有非空后代文本节点
var textNodes = doc.DocumentNode.
SelectNodes("//text()[normalize-space()]").
Select(t=>t.InnerText);
如何使用 HTML Agility Pack 或任何其他技术解析完整的 HTML 网页而非特定节点?
我正在使用这段代码,但这段代码只解析特定的节点,但我需要完整的页面来解析,内容清晰明了
List<string> list = new List<string>();
string url = "https://www.google.com";
HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load(url);
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//a"))
{
list.Add(node.InnerText);
}
做SelectNodes("*")
。 '*'(星号)是通配符选择器,将获取页面上的每个节点。
要获取所有后代文本节点,请使用类似
的方法var textNodes = doc.DocumentNode.SelectNodes("//text()").
Select(t=>t.InnerText);
获取所有非空后代文本节点
var textNodes = doc.DocumentNode.
SelectNodes("//text()[normalize-space()]").
Select(t=>t.InnerText);