Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 解析完整网页_C#_Parsing_Html Agility Pack - Fatal编程技术网

C# 解析完整网页

C# 解析完整网页,c#,parsing,html-agility-pack,C#,Parsing,Html Agility Pack,如何使用HTML Agility Pack或任何其他技术解析完整的HTML网页而不是特定的节点 我正在使用这段代码,但这段代码只解析特定的节点,但我需要完整的页面来解析整洁清晰的内容 List<string> list = new List<string>(); string url = "https://www.google.com"; HtmlWeb web = new HtmlWeb(); HtmlAgilityPack.HtmlDocument doc = web

如何使用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);
}
List List=新列表();
字符串url=”https://www.google.com";
HtmlWeb web=新的HtmlWeb();
HtmlAgilityPack.HtmlDocument doc=web.Load(url);
foreach(doc.DocumentNode.SelectNodes(“//a”)中的HtmlNode节点)
{
添加(node.InnerText);
}

Do
选择节点(“*”
“*”(星号)是通配符选择器,将获取页面上的每个节点

要获取所有子体文本节点,请使用

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之类的库,还是该库不适合您的需要?如果是后者,以什么方式?您所说的“此代码仅解析特定节点”、“我需要完整的页面进行解析”和“内容整洁清晰”是什么意思。我不明白你说的这些短语是什么意思。我也不确定你说的“要解析的完整页面”是什么意思。如果您执行
选择节点(“*”)
操作,您将获得页面中的所有节点。请参阅上面的代码提取网页中存在的所有标记的内部文本,我只想从网页中提取所有标记的内部文本,如,,,等等。我将复制我的注释作为答案,因为我认为这是您想要的。