Parse Compelete Web Page

c# html-agility-pack parsing

Question

Comment analyser une page Web HTML complète, et non des nœuds spécifiques, à l'aide de HTML Agility Pack ou de toute autre technique?

J'utilise ce code, mais ce code ne fait qu'analyser un nœud spécifique, mais j'ai besoin d'une page complète pour analyser le contenu net

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);
}

Réponse acceptée

Pour obtenir tous les nœuds de texte descendants, utilisez quelque chose comme:

var textNodes = doc.DocumentNode.SelectNodes("//text()").
                                 Select(t=>t.InnerText);

Pour obtenir tous les nœuds de texte descendants non vides

var textNodes = doc.DocumentNode.
                    SelectNodes("//text()[normalize-space()]").
                    Select(t=>t.InnerText);

Réponse populaire

Faites SelectNodes("*") . '*' (astérisque) est le sélecteur de caractère générique et obtiendra tous les nœuds de la page.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi