Speichern einer Website oder Webseite mit Java

Warum eine Website als HTML speichern?

Um den ununterbrochenen Zugriff auf wichtige Inhalte zu gewährleisten, ist es hilfreich, Websites für die Offline-Nutzung zu speichern. Wenn Sie eine Website in HTML konvertieren, können Sie die Seiten auch ohne Internetverbindung ansehen, sei es zu Forschungs-, Bildungs- oder Unterhaltungszwecken. Sie können Webseiten zur Analyse, zur Erstellung von Sicherungskopien oder zum Lernen über Webdesign und Vorlagen speichern. Das Speichern von Webseiten gibt Ihnen Flexibilität, Kontrolle und ein Gefühl der Sicherheit.

Dieser Artikel zeigt, wie man Webseiten mit Aspose.HTML for Java API speichern kann. Sie können den Prozess anpassen – speichern Sie eine ganze Website oder speichern Sie eine Webpage.

Wie man eine Webseite in Java speichert

Sie können die Aspose.HTML for Java library verwenden, um eine Webseite als HTML zu speichern, damit Sie sie offline lesen können, ohne dass es zu Problemen kommt. Führen Sie dazu einige Schritte aus:

  1. Verwenden Sie den HTMLDocument(Url) Konstruktor, um eine Instanz der HTMLDocument Klasse zu erstellen, indem Sie die URL der Webseite, die Sie herunterladen möchten, übergeben.
  2. Bereiten Sie einen lokalen Dateipfad vor, in dem der HTML-Inhalt gespeichert werden soll.
  3. Rufen Sie die Methode save(savePath) oder die Methode Save(savePath, options) auf, um das heruntergeladene HTML-Dokument an dem angegebenen Ort zu speichern.

Dieses Java-Beispiel zeigt, wie man eine Webseite mit den Standard-Speicheroptionen speichert. Standardmäßig werden nur die spezifische Webseite und die zugehörigen Ressourcen aus derselben Domäne gespeichert. Ressourcen von externen Domänen werden nicht heruntergeladen.

1// Extract and save a wab page with default save options in Java
2
3// Initialize an HTML document from a URL
4final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
5// Prepare a path to save the downloaded file
6String savePath = "root/result.html";
7
8// Save the HTML document to the specified file
9document.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.

Mit den Klassen HTMLSaveOptions und ResourceHandlingOptions können Sie festlegen, wie Ressourcen wie Bilder, CSS- und JavaScript-Dateien beim Speichern eines HTML-Dokuments behandelt werden. Sie enthält Eigenschaften zum Festlegen des Standardverhaltens bei der Behandlung von Ressourcen (z. B. Beibehalten, Ignorieren oder Einbetten von Ressourcen), zum Steuern der JavaScript-Behandlung, zum Festlegen der maximalen Tiefe der zu speichernden verknüpften Seiten und zum Anwenden von URL-Beschränkungen sowohl auf Seiten als auch auf Ressourcen. Diese Klassen bieten eine fein abgestufte Kontrolle darüber, wie externe Inhalte während des Speichervorgangs gehandhabt werden, so dass Sie das Verhalten an unterschiedliche Anforderungen anpassen können, z. B. an die Bewahrung ganzer Websites oder das Abrufen bestimmter Ressourcen.

Website speichern mit setJavaScript()

Die Eigenschaft JavaScript definiert, wie JavaScript-Skripte beim Speichern einer Webseite behandelt werden. Zu den Optionen gehören Save, Ignore, Discard und Embed, wobei die Standardeinstellung Save ist. Das folgende Java-Beispiel zeigt, wie man eine Webseite speichert und alle zu speichernden JavaScripts in das resultierende HTML-Dokument einbettet.

Um eine Website von einer URL zu speichern, sollten Sie einige Schritte durchführen:

  1. Verwenden Sie den HTMLDocument(Url)-Konstruktor, um ein HTML-Dokument aus einer angegebenen URL zu initialisieren.
  2. Erstellen Sie eine Instanz der Klasse HTMLSaveOptions, um zu konfigurieren, wie das Dokument gespeichert werden soll.
  3. Ändern Sie die Eigenschaft ResourceHandlingOptions innerhalb von HTMLSaveOptions, um das Verhalten bei der Behandlung von JavaScript festzulegen.
  4. Rufen Sie die Methode save(savePath, options) auf, um das Dokument mit den gewünschten Einstellungen zu speichern.

Im folgenden Beispiel gibt die Option ResourceHandling.Embed an, dass alle JavaScript-Ressourcen beim Speichern direkt in das HTML-Dokument eingebettet werden sollen. Das bedeutet, dass der JavaScript-Inhalt in die gespeicherte HTML-Datei selbst eingefügt wird, anstatt auf externe .js-Dateien zu verweisen, um sicherzustellen, dass alle erforderlichen Skripte für den Offline-Zugriff oder die Verteilung im selben Dokument enthalten sind. Dieser Ansatz macht externe Dateiverweise überflüssig und trägt dazu bei, dass die Integrität der Webseite bei der Übertragung oder Speicherung erhalten bleibt.

 1// Download website using HTMLSaveOptions in Java
 2
 3// Initialize an HTML document from a URL
 4final 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();
 8options.getResourceHandlingOptions().setJavaScript(ResourceHandling.Embed);
 9
10// Prepare a path to save the downloaded file
11String savePath = "rootAndEmbedJs/result.html";
12
13// Save the HTML document to the specified file
14document.save(savePath, options);

Website speichern mit setMaxHandlingDepth()

Die Eigenschaft MaxHandlingDepth definiert die maximale Tiefe der Hierarchie der HTML-Dokumentenelemente, die geladen und verarbeitet werden soll. Durch die Begrenzung dieser Tiefe trägt die Eigenschaft zur Leistungsoptimierung bei, indem sie den während des Speichervorgangs benötigten Speicher und die Verarbeitungsleistung reduziert. Standardmäßig werden nur das geöffnete Dokument und seine direkten Ressourcen als eine einzelne Webseite gespeichert. Wird diese Eigenschaft auf 1 gesetzt, werden nur Elemente bis zu einer Tiefe von 1 in der HTML-Hierarchie gespeichert, einschließlich des Dokuments selbst und der direkt verknüpften Seiten.

 1// Save a website with limited resource depth using Java
 2
 3// Load an HTML document from a URL
 4final 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();
 8options.getResourceHandlingOptions().setMaxHandlingDepth(1);
 9
10// Prepare a path for downloaded file saving
11String savePath = "rootAndAdjacent/result.html";
12
13// Save the HTML document to the specified file
14document.save(savePath, options);

Website speichern mit setPageUrlRestriction()

Aspose.HTML for Java bietet verschiedene Optionen zum Filtern von Seiten-URLs beim Speichern einer Website. Die Eigenschaft PageUrlRestriction steuert, welche Webseiten während des Speichervorgangs auf Basis ihrer URLs oder Domains geladen werden können. Standardmäßig ist diese Eigenschaft auf RootAndSubFolders eingestellt, was bedeutet, dass nur Seiten im Stammverzeichnis und seinen Unterordnern verarbeitet werden. Sie können diese Eigenschaft ändern, um bei Bedarf andere Einschränkungen vorzunehmen.

Im folgenden Beispiel werden zusätzlich zum Dokument alle Seiten gespeichert, auf die das HTML-Dokument verweist, sowie die Seiten in derselben Domäne:

 1// Save a website with restricted resource URLs using Java
 2
 3// Initialize an HTML document from a URL
 4final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
 5
 6// Create an HTMLSaveOptions object and set MaxHandlingDepth and PageUrlRestriction properties
 7HTMLSaveOptions options = new HTMLSaveOptions();
 8options.getResourceHandlingOptions().setMaxHandlingDepth(1);
 9options.getResourceHandlingOptions().setPageUrlRestriction(UrlRestriction.SameHost);
10
11// Prepare a path to save the downloaded file
12String savePath = "rootAndManyAdjacent/result.html";
13
14// Save the HTML document to the specified file
15document.save(savePath, options);

Aspose.HTML bietet eine Reihe kostenloser Online- HTML-Webanwendungen, darunter Konverter, Merger, SEO-Tools, HTML-Code-Generatoren, URL-Utilities und mehr. Diese browserbasierten Tools funktionieren auf allen Betriebssystemen und erfordern keine zusätzliche Softwareinstallation. Egal, ob Sie Dateien konvertieren oder zusammenführen, Webdaten extrahieren, HTML-Code generieren oder Seiten für die Suchmaschinenoptimierung analysieren müssen, Sie können alles direkt im Web erledigen. Optimieren Sie Ihre täglichen Aufgaben und steigern Sie Ihre Produktivität mit unseren benutzerfreundlichen HTML Web Apps – jederzeit und überall.

Text “HTML-Webanwendungen”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.