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

Я пытаюсь получить 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/");
        }
    }
}

Спасибо


person mbass    schedule 19.06.2013    source источник


Ответы (2)


Для объекта типа HtmlDocument необходимо вызвать метод Save. Вот пример загрузки индексной страницы сайта 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");
person rpeshkov    schedule 19.06.2013

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

System.IO.File.WriteAllText(@"c:\file.txt", doc.DocumentNode.OuterHtml);
person Lee Bailey    schedule 19.06.2013