Website zu HTML – Website mit C# speichern
Website zu HTML
Obwohl kabelgebundenes Internet oder Wi-Fi heutzutage überall verfügbar ist, kann es vorkommen, dass Sie von Zeit zu Zeit keine Internetverbindung haben, z. B. zwischen U-Bahn-Stationen, auf einer Reise oder während eines Fluges. Um auch ohne Netzwerkverbindung auf Informationen zugreifen zu können, müssen Sie die Inhalte verschiedener Websites speichern, um sie offline nutzen zu können, z. B. zum Lesen, zur Recherche oder zur Unterhaltung.
Es gibt einige Gründe, warum Sie eine Website in HTML konvertieren sollten:
- zugriff auf die Informationen ohne Netzverbindung;
- extrahieren nützlicher Informationen aus Websites für Analysen oder andere Zwecke;
- den Inhalt der Seite zu speichern, damit die Daten nicht aus irgendeinem Grund nicht mehr verfügbar sind. Vielleicht haben Sie Erfahrung mit defekten Lesezeichen;
- statische HTML-Websites auf einen anderen Host zu verschieben;
- archivierung von Inhalten und Erstellung von Sicherungskopien;
- lernzwecke wie Design oder Webseitenvorlagen studieren und mehr.
Dieser Artikel bietet Möglichkeiten zum Speichern einer Website oder zum Speichern einer Webseite mit Aspose.HTML for .NET API. Sie können den Prozess anpassen - speichern Sie eine ganze Website oder speichern Sie eine Webseite.
Wie man eine Webseite speichert
Sie können Aspose.HTML for .NET library verwenden, um Websites in HTML zu konvertieren, damit Sie sie problemlos offline lesen können. Sie sollten einige der folgenden Schritte ausführen:
- Verwenden Sie den
HTMLDocument(
Url
) Konstruktor, um einHTMLdocument
Objekt von einer URL zu laden und eine Webseite in HTML zu konvertieren. - Erstellen Sie eine Instanz der Klasse
HTMLSaveOptions und setzen Sie die erforderlichen Eigenschaften, um den Speichervorgang anzupassen. Wenn Sie
HTMLSaveOptions
nicht initialisieren, wird der Prozess mit den Standard-Speicheroptionen arbeiten, wie im folgenden Beispiel gezeigt. - Rufen Sie die Methode
Save(
savePath
) oder die Methode Save(savePath
,options
) auf, um die Website offline zu speichern.
Das folgende C#-Beispiel zeigt, wie man eine Webseite speichert. Mit den Standard-Speicheroptionen speichern Sie nur eine separate Webseite mit zugehörigen Ressourcen. Bitte beachten Sie, dass nur Ressourcen gespeichert werden, die sich in derselben Domäne befinden wie die Webseite.
1// Extract and save a wab page with default save options in C#
2
3// Initialize an HTML document from a URL
4using HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
5
6// Prepare a path to save the downloaded file
7string savePath = Path.Combine(OutputDir, "root/result.html");
8
9// Save the HTML document to the specified file
10document.Save(savePath);
Mit den in diesem Artikel beschriebenen Funktionen können Sie sowohl einzelne Seiten als auch ganze Websites mit Ressourcen speichern. Um den Speichervorgang anzupassen, können Sie die Optionen für die Ressourcenbehandlung für das Objekt HTMLSaveOptions festlegen.
Optionen zur Handhabung von Ressourcen
Mit den Klassen HTMLSaveOptions und ResourceHandlingOptions können Sie den Speichervorgang individuell anpassen. Sie können beispielsweise die Tiefe der zu verarbeitenden Seiten manipulieren und eine ganze Website oder nur eine Webseite speichern.
In der folgenden Tabelle sind die wichtigsten Eigenschaften der Klasse ResourceHandlingOptions zusammengefasst. Sie bieten Optionen für die Behandlung der maximalen Seitentiefe, die Anwendung von Limits oder die Behandlung externer Ressourcen wie Bilder, CSS-Dateien und JavaScript beim Laden eines HTML-Dokuments über die API.
Property | Description |
---|---|
Default | Gets or sets an enum representing the default resource handling method. Currently, Save , Ignore , and Embed values are supported. The default value is Save , meaning the resource will be saved as a file. |
JavaScript | Represents the way scripts are handled. Currently, Save , Ignore , Discard , and Embed values are supported. The default value is Save , meaning the resource will be saved as a file. |
MaxHandlingDepth | This property contains information about the maximum depth of pages that will be handled. Using this property, you can manipulate the depth of pages that will be handled and save entire website or only save a web page. A depth of 1 means only pages directly referenced from the saved document will be handled. Setting this property to -1 will lead to the handling of all pages. The default value is 0. |
PageUrlRestriction | Contains information about restrictions applied to URLs of handled pages. The default value is RootAndSubFolders , meaning only resources in the root and subfolders are processed. |
ResourceUrlRestriction | This property contains information about restrictions applied to URLs of handled resources such as CSS, js, images, etc. The default value is SameHost , meaning only resources in the same host are processed. |
Website zu HTML mit JavaScript
-Eigenschaft
Aspose.HTML bietet die Möglichkeit, die Logik für das Speichern von Skripten zu steuern. Sie können in separaten Dateien gespeichert, eingebettet oder aus dem resultierenden Dokument geworfen werden. Das folgende C#-Beispiel zeigt, wie man eine Website speichert und alle JavaScripts, die gespeichert werden sollen, in das resultierende HTML-Dokument einbettet.
Um eine Website aus der URL zu retten, sollten Sie einige Schritte unternehmen:
- Verwenden Sie den Konstruktor
HTMLDocument(
Url
), um ein HTMLdocument-Objekt aus einer URL zu laden und eine Website in HTML zu konvertieren. - Erstellen Sie eine Instanz der Klasse
HTMLSaveOptions und setzen Sie die Eigenschaft
JavaScripts mit dem Wert
ResourceHandling.Embed
. - Rufen Sie die Methode
Save(
savePath
,options
) auf, um die Website offline zu speichern.
Im folgenden Beispiel gibt die Option ResourceHandling.Embed
an, dass alle JavaScript
-Ressourcen beim Speichern in das HTML-Dokument eingebettet werden sollen. Das bedeutet, dass die resultierende HTML-Datei alle JavaScript
-Ressourcen innerhalb des Dokuments enthält, anstatt auf sie als externe Dateien zu verweisen.
1// Download website using HTMLSaveOptions in C#
2
3// Initialize an HTML document from a URL
4using HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
5
6// Create an HTMLSaveOptions object and set the JavaScript property
7HTMLSaveOptions options = new HTMLSaveOptions
8{
9 ResourceHandlingOptions =
10 {
11 JavaScript = ResourceHandling.Embed
12 }
13};
14
15// Prepare a path to save the downloaded file
16string savePath = Path.Combine(OutputDir, "rootAndEmbedJs/result.html");
17
18// Save the HTML document to the specified file
19document.Save(savePath, options);
Website in HTML mit der Eigenschaft MaxHandlingDepth
Die Eigenschaft
MaxHandlingDepth gibt die maximale Tiefe der zu ladenden und zu verarbeitenden Hierarchie der HTML-Dokumentelemente an. Die API wird keine Elemente über diese Tiefe hinaus laden oder verarbeiten. Die Eigenschaft MaxHandlingDepth
optimiert daher die Leistung des Speichervorgangs und trägt dazu bei, den von der API benötigten Speicherplatz und die Verarbeitungsleistung zu verringern, indem die Anzahl der zu verarbeitenden Elemente begrenzt wird.
Standardmäßig werden nur das geöffnete Dokument und seine Ressourcen als einzelne Webseite gespeichert, aber Sie können die Verarbeitungstiefe mit der Eigenschaft MaxHandlingDepth
steuern. Das folgende Beispiel zeigt, wie nicht nur das Dokument gespeichert wird, sondern auch alle Seiten, auf die es verweist und deren URL relativ zur URL dieser Seite verschachtelt ist. Schauen wir uns das C#-Beispiel an, wenn diese Eigenschaft auf 1 gesetzt ist, was bedeutet, dass nur Elemente bis zu einer Tiefe von 1 in der HTML-Dokumentenhierarchie gespeichert werden:
1// Save a website with limited resource depth using C#
2
3// Load an HTML document from a URL
4using HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
5
6// Create an HTMLSaveOptions object and set the MaxHandlingDepth property
7HTMLSaveOptions options = new HTMLSaveOptions
8{
9 ResourceHandlingOptions =
10 {
11 MaxHandlingDepth = 1
12 }
13};
14
15// Prepare the output path for saving the downloaded content
16string savePath = Path.Combine(OutputDir, "rootAndAdjacent/result.html");
17
18// Save the document along with adjacent resources only
19document.Save(savePath, options);
Website mit der Eigenschaft PageUrlRestriction
speichern
Aspose.HTML for .NET bietet verschiedene Optionen zum Filtern der URLs von gespeicherten Seiten für eine Website. Die Eigenschaft PageUrlRestriction schränkt das Laden von Webseiten von bestimmten URLs oder Domains beim Speichern eines HTML-Dokuments ein.
Standardmäßig ist die Eigenschaft PageUrlRestriction
auf RootAndSubFolders
eingestellt, was bedeutet, dass nur Seiten im Stammverzeichnis und in Unterverzeichnissen verarbeitet werden. Sie können diese Eigenschaft jedoch auf einen anderen Wert setzen - SameHost
oder None
. Wenn Sie den Wert None
einstellen, können Sie Webseiten von jeder Domäne laden, deren URLs auf der gespeicherten Website enthalten sind. Diese Eigenschaft sollte mit Bedacht verwendet werden, da das Laden von Webseiten von jeder beliebigen Domäne das Risiko von Sicherheitslücken erhöhen kann.
Im folgenden Beispiel werden alle Seiten, auf die ein HTML-Dokument verweist und die sich in derselben Domäne befinden, zusätzlich zum Dokument gespeichert:
1// Save a website with restricted resource URLs using C#
2
3// Initialize an HTML document from a URL
4using HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
5
6// Configure HTMLSaveOptions with restricted resource handling
7HTMLSaveOptions options = new HTMLSaveOptions
8{
9 ResourceHandlingOptions =
10 {
11 MaxHandlingDepth = 1,
12 PageUrlRestriction = UrlRestriction.SameHost
13 }
14};
15
16// Prepare the output path for the saved content
17string savePath = Path.Combine(OutputDir, "rootAndManyAdjacent/result.html");
18
19// Save the HTML document and allowed resources to the specified path
20document.Save(savePath, options);
Sie können die vollständigen C#-Beispiele und Datendateien von GitHub herunterladen.
Aspose.HTML bietet HTML-Webanwendungen, die eine Online-Sammlung von kostenlosen Konvertern, Zusammenführungen, SEO-Tools, HTML-Code-Generatoren, URL-Tools und mehr sind. Die Anwendungen funktionieren auf jedem Betriebssystem mit einem Webbrowser und erfordern keine zusätzliche Softwareinstallation. Konvertieren, fusionieren, kodieren, generieren Sie HTML-Code, extrahieren Sie Daten aus dem Web oder analysieren Sie Webseiten im Hinblick auf SEO, wo immer Sie sind. Nutzen Sie unsere Sammlung von HTML-Webanwendungen, um Ihre täglichen Aufgaben zu erledigen und Ihren Arbeitsablauf nahtlos zu gestalten!