Html Agility Pack: recupera un documento HTML da una risorsa Internet e lo salva nel file specificato

c# html-agility-pack

Domanda

Sto cercando di ottenere la pagina html da questo link e di archiviare il contenuto in un file specifico in C # utilizzando la libreria di classi HAP. Sto divertendo il metodo Get della classe HtmlWeb. Compila e funziona perfettamente ma il "file.txt" non viene mai creato. Ecco la classe e il suo cliente. Qualcuno può aiutare per favore:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HtmlAgilityPack;

namespace WebCrawler
{
    class Crawler
    {
        public Crawler() { }

        public Crawler(string Url)
        {
            this.Url = Url;
            HtmlWeb page = new HtmlWeb();
            Console.WriteLine(Url);
            HtmlDocument doc = page.Load(Url);
            page.Get(Url, "file.txt");
        }

        public string Url
        {
            get;
            set;
        }
    }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HtmlAgilityPack;

namespace WebCrawler
{
    class Program
    {
        static void Main(string[] args)
        {
            Crawler crawler = new Crawler("https://code.google.com/p/abot/");
        }
    }
}


    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HtmlAgilityPack;

namespace WebCrawler
{
    class Program
    {
        static void Main(string[] args)
        {
            Crawler crawler = new Crawler("https://code.google.com/p/abot/");
        }
    }
}

Grazie

Risposta accettata

Devi chiamare il metodo Save per l'oggetto di tipo HtmlDocument. Ecco un esempio di caricamento della pagina indice del sito web di Google e salvataggio in file out.html.

const string url = "http://google.com";

HtmlWeb page = new HtmlWeb();
HtmlDocument document = page.Load(url);
page.Get(url, "/");
document.Save("out.html");

Risposta popolare

Perché non fare semplicemente qualcosa del genere

System.IO.File.WriteAllText(@"c:\file.txt", doc.DocumentNode.OuterHtml);



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché