Html Agility Pack: Holt ein HTML-Dokument von einer Internet-Ressource und speichert es in der angegebenen Datei

c# html-agility-pack

Frage

Ich versuche, die HTML-Seite von diesem Link zu erhalten und den Inhalt in einer bestimmten Datei in C # mit Hilfe der HAP-Klassenbibliothek zu speichern. Ich benutze die Get-Methode der HtmlWeb-Klasse. Es kompiliert und läuft perfekt in Ordnung, aber die "file.txt" wird nie erstellt. Hier ist die Klasse und ihr Klient. Kann jemand bitte helfen:

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

Vielen Dank

Akzeptierte Antwort

Sie müssen die Methode Save für das Objekt HtmlDocument aufrufen. Hier ist ein Beispiel für das Laden der Indexseite der Google-Website und das Speichern in der out.html-Datei.

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

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

Beliebte Antwort

Warum nicht einfach so etwas tun?

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


Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum