Html Agility Pack: получить HTML-документ с интернет-ресурса и сохранить его в указанном файле

c# html-agility-pack

Вопрос

Я пытаюсь получить html-страницу из этой ссылки и сохранить содержимое в конкретном файле на C #, используя библиотеку классов HAP. Я занимаюсь методом Get класса HtmlWeb. Он компилируется и работает отлично, но «file.txt» никогда не создается. Вот класс и его клиент. Кто-нибудь может помочь:

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

благодаря

Принятый ответ

Вы должны вызвать метод Save для объекта типа HtmlDocument. Вот пример загрузки индексной страницы веб-сайта Google и сохранения ее в файл out.html.

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

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

Популярные ответы

Почему бы просто не сделать что-то подобное

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


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow