Html Agility Pack: obtenga un documento HTML de un recurso de Internet y lo guarda en el archivo especificado

c# html-agility-pack

Pregunta

Estoy tratando de obtener la página html de este enlace y almacenar el contenido en un archivo específico en C # usando la biblioteca HAP Class. Divertí el método Get de la clase HtmlWeb. Se compila y se ejecuta perfectamente, pero el "archivo.txt" nunca se crea. Aquí está la clase y su cliente. Puede ayudar alguien por favor:

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

Gracias

Respuesta aceptada

Tienes que llamar al método Save para el objeto de tipo HtmlDocument. Este es un ejemplo de cómo cargar la página de índice del sitio web de Google y guardarla en el archivo out.html.

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

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

Respuesta popular

¿Por qué no hacer algo como esto?

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


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué