Pack d'agilité HTML: Obtenir un document HTML à partir d'une ressource Internet et l'enregistrer dans le fichier spécifié

c# html-agility-pack

Question

J'essaie d'obtenir la page html de ce lien et de stocker le contenu dans un fichier spécifique en C # à l'aide de la bibliothèque de classes HAP. J'amuse la méthode Get de la classe HtmlWeb. Il compile et fonctionne parfaitement mais le fichier "fichier.txt" n’est jamais créé. Voici la classe et son client. Quelqu'un peut-il aider s'il vous plaît:

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

Merci

Réponse acceptée

Vous devez appeler la méthode Save pour un objet de type HtmlDocument. Voici un exemple de chargement de la page d’index du site Web Google et de son enregistrement dans le fichier out.html.

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

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

Réponse populaire

Pourquoi ne pas simplement faire quelque chose comme ça

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



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