C # - Html Agility Pack - kann nicht aus dem Internet lesen

c# html-agility-pack

Frage

Ich versuche, ein kleines Programm zu machen, um Inhalt von einer Wikipedia-Seite zu lesen, und um den HTML zu bekommen, fand ich diesen Code an anderer Stelle auf SO

        HtmlDocument doc = new HtmlDocument();
        StringBuilder output = new StringBuilder();

        doc.LoadHtml("http://en.wikipedia.org/wiki/The Metamorphosis of Prime Intellect");
        var text = doc.DocumentNode.SelectNodes("//body//text()").Select(node => node.InnerText);

        foreach (string line in text)
            output.AppendLine(line);

        string textOnly = HttpUtility.HtmlDecode(output.ToString());

        Console.WriteLine(textOnly);

Ich bekomme jedoch einen Laufzeitfehler "ArgumentNullException wurde nicht behandelt", und diese Zeile ist hervorgehoben:

        var text = doc.DocumentNode.SelectNodes("//body//text()").Select(node => node.InnerText);

Sieht jemand das Problem?

Beliebte Antwort

doc.LoadHtml nimmt HTML-String nicht URL . Um diese Seite herunterzuladen, können Sie die HtmlAgilityPack.HtmlWeb Klasse verwenden

var web = new HtmlAgilityPack.HtmlWeb();
var doc = web.Load("http://en.wikipedia.org/wiki/The Metamorphosis of Prime Intellect");

var text = doc.DocumentNode.SelectNodes("//body//text()").Select(node => node.InnerText);
var output = String.Join("\n", text);

SelectNodes gibt 622 Artikel in meinem Test zurück.



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum