HTML-Dokument in Python speichern

Wie man HTML in Python speichert

Dieser Artikel bietet eine detaillierte Anleitung zum Speichern eines HTML-Dokuments mit Aspose.HTML for Python via .NET API. Nachdem Sie mit HTML-Dokumenten gearbeitet haben, können Sie die Änderungen mit einer der Methoden HTMLDocument.save() speichern. Es gibt Methoden, um ein Dokument in einer Datei oder URL zu speichern.

Bitte beachten Sie, dass Aspose.HTML for Python via .NET zwei verschiedene Ansätze für die Erstellung der Ausgabedateien bietet:

  1. HTML-basierter Ansatz: Bei dieser Methode werden HTML-ähnliche Dateien als Ausgabe erzeugt. Es wird die Klasse SaveOptions verwendet, die als Grundlage für die Verwaltung des Speichervorgangs von zugehörigen Ressourcen wie Skripten, Stilen und Bildern dient. Die Klasse ResourceHandler ist für die Handhabung dieser Ressourcen zuständig. Sie wurde entwickelt, um HTML-Inhalte und zugehörige Ressourcen in Streams zu speichern, und bietet Methoden, mit denen Sie steuern können, was mit der Ressource geschehen soll.

  2. Visueller Darstellungsansatz: Diese Methode konzentriert sich auf die Erstellung einer visuellen Darstellung von HTML. Er basiert auf der Klasse RenderingOptions, die spezielle Methoden zur Definition von Seitengröße, Rändern, Auflösung, Benutzerstilen und mehr bietet.

Dieser Artikel behandelt die Verwendung der Klassen SaveOptions und ResourceHandler.

HTML speichern

Wenn Sie Ihre Änderungen an Ihrem HTML-Dokument abgeschlossen haben, möchten Sie es vielleicht speichern. Dies können Sie mit einer der Methoden save() tun, die von der Klasse HTMLDocument bereitgestellt werden. Hier ist ein einfaches Python-Beispiel zum Speichern einer HTML-Datei:

 1# Save HTML to a file in Python
 2
 3import os
 4import aspose.html as ah
 5
 6# Prepare the output path
 7output_dir = "output"
 8os.makedirs(output_dir, exist_ok=True)
 9
10document_path = os.path.join(output_dir, "save-html-document.html")
11
12# Create an empty HTML document
13with ah.HTMLDocument() as document:
14    # Create a text node and add it to the document
15    text = document.create_text_node("Hello, World!")
16    document.body.append_child(text)
17
18    # Save the HTML document
19    document.save(document_path)

Im obigen Beispiel verwenden wir den Konstruktor HTMLDocument(), um ein leeres HTML-Dokument zu initialisieren. Die Methode create_text_node(data) der Klasse HTMLDocument erzeugt einen Textknoten mit der angegebenen Zeichenkette. Wenn Sie document.save(document_path) aufrufen, schreibt die Methode den HTML-Inhalt des document-Objekts in die durch document_path angegebene Datei.

Das obige Beispiel ist recht einfach. In realen Anwendungen benötigen Sie jedoch oft zusätzliche Kontrolle über den Speichervorgang. In den nächsten Abschnitten wird beschrieben, wie Sie die Optionen für die Ressourcenbehandlung nutzen oder Ihr Dokument in den verschiedenen Formaten speichern können.

SaveOptions und ResourceHandlingOptions

Die Klasse SaveOptions ist eine Basisklasse, die es Ihnen ermöglicht, zusätzliche Optionen für Speichervorgänge anzugeben und die Verwaltung der verknüpften Ressourcen zu erleichtern. Die Eigenschaft resource_handling_options der Klasse SaveOptions dient der Konfiguration der Ressourcenverwaltung. Die Klasse ResourceHandlingOptions definiert Optionen für die Verwaltung von Ressourcen, die mit einem HTML-Dokument verbunden sind. Sie bietet mehrere Eigenschaften, um zu steuern, wie verschiedene Arten von Ressourcen während des Speicherns oder der Verarbeitung des Dokuments behandelt werden:

HTML in einer Datei speichern

Der folgende Python-Codeausschnitt zeigt, wie die Eigenschaft resource_handling_options der Klasse SaveOptions verwendet werden kann, um die Verknüpfung mit Ihren Dokumentdateien zu verwalten.

 1# Save HTML with linked resources in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.saving as sav
 6
 7# Prepare output paths
 8output_dir = "output"
 9os.makedirs(output_dir, exist_ok=True)
10
11document_path = os.path.join(output_dir, "save-with-linked-file.html")
12
13# Create an HTML file with a linked page
14with open(document_path, "w", encoding="utf-8") as file:
15    file.write("<p>Hello, World!</p><a href='linked.html'>linked file</a>")
16
17# Create the linked HTML file
18with open(os.path.join(output_dir, "linked.html"), "w", encoding="utf-8") as file:
19    file.write("<p>Hello, linked file!</p>")
20
21# Load and save the HTML document with directly linked pages
22output_path = os.path.join(output_dir, "save-with-linked-file_out.html")
23with ah.HTMLDocument(document_path) as document:
24    options = sav.HTMLSaveOptions()
25    options.resource_handling_options.max_handling_depth = 1
26    document.save(output_path, options)

Wenn Sie HTML als Bild oder als Dokument mit einem festen Layout wie PDF speichern möchten, können Sie das Dokument in das gewünschte Format konvertieren. Weitere Informationen finden Sie im Abschnitt HTML-Konverter.

HTML in MHTML speichern

In manchen Fällen müssen Sie Ihre Webseite als eine einzige Datei speichern. das Dokument MHTML könnte für diesen Zweck praktisch und hilfreich sein, da es ein Webseitenarchiv ist und alles in sich selbst speichert. Die HTMLSaveFormat Enumeration gibt das Format an, in dem das Dokument gespeichert wird, es können HTML-, MHTML- und Markdown-Formate sein. Das folgende Beispiel zeigt, wie die Methode save(path, save_format) zum Speichern von HTML in MHTML verwendet wird.

 1# Save HTML as MHTML in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.saving as sav
 6
 7# Prepare the output path
 8output_dir = "output"
 9document_path = os.path.join(output_dir, "save-html-to-mhtml.mht")
10os.makedirs(output_dir, exist_ok=True)
11
12# Create an HTML file with a linked page
13with open("document.html", "w", encoding="utf-8") as file:
14    file.write("<p>Hello, World!</p><a href='linked-file.html'>linked file</a>")
15
16# Create the linked HTML file
17with open("linked-file.html", "w", encoding="utf-8") as file:
18    file.write("<p>Hello, linked file!</p>")
19
20# Load HTML and save it as MHTML
21with ah.HTMLDocument("document.html") as document:
22    document.save(document_path, sav.HTMLSaveFormat.MHTML)

In der Datei “save-to-MTHML.mht” wird der HTML-Code der Dateien “document.html” und “linked-file.html” gespeichert.

HTML in Markdown speichern

Markdown ist eine Auszeichnungssprache mit Klartext-Syntax. Genauso wie für das HTML zu MHTML Beispiel, können Sie das HTMLSaveFormat für das Speichern von HTML zu Markdown verwenden. Bitte sehen Sie sich das folgende Python-Beispiel an:

 1# Save HTML as Markdown in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.saving as sav
 6
 7# Prepare input and output paths
 8data_dir = "data"
 9output_dir = "output"
10os.makedirs(output_dir, exist_ok=True)
11
12input_path = os.path.join(data_dir, "document.html")
13output_path = os.path.join(output_dir, "html-to-markdown.md")
14
15# Load HTML and save it as Markdown
16with ah.HTMLDocument(input_path) as document:
17    document.save(output_path, sav.HTMLSaveFormat.MARKDOWN)

SVG speichern

In der Regel wird SVG in eine HTML-Datei eingebettet, um Vektorgrafiken wie Bilder, Symbole, Tabellen und andere darzustellen. SVG kann jedoch auch aus einer Webseite extrahiert und unabhängig bearbeitet werden, ähnlich wie ein HTML-Dokument.

Da sich sowohl SVGDocument als auch HTMLDocument an den WHATWG DOM Standard halten, sind ihre Operationen – wie das Laden, Lesen, Bearbeiten, Konvertieren und Speichern – weitgehend ähnlich. Daher können alle Beispiele, die die Manipulation mit HTMLDocument zeigen, auch auf SVGDocument angewendet werden.

 1# Create and save an SVG file in Python
 2
 3import os
 4import aspose.html.dom.svg as ahsvg
 5
 6# Prepare the output path
 7output_dir = "output"
 8document_path = os.path.join(output_dir, "save-html-to-svg.svg")
 9os.makedirs(output_dir, exist_ok=True)
10
11# Prepare SVG code
12svg_code = """
13<svg xmlns='http://www.w3.org/2000/svg' height='400' width='300'>
14    <path stroke="#a06e84" stroke-width="3" fill="#74aeaf" d="  
15	M 150,50 L 150, 300
16	M 120,100 L 150,50 L 180, 100
17    M 110,150 L 150,90 L 190, 150
18	M 90,220 L 150,130 L 210, 220
19	M 70,300 L 150,190 L 230, 300
20    M 110,310 L 150,240 L 190, 310
21	" />
22</svg>
23"""
24
25# Create and save the SVG document
26with ahsvg.SVGDocument(svg_code, ".") as document:
27    document.save(document_path)

Weitere Informationen zur Verwendung der Aspose.SVG Python API für die Verarbeitung und das Rendering von SVG-Dokumenten finden Sie in der Aspose.SVG for Python via .NET Documentation.

Laden Sie die Bibliothek Aspose.HTML for Python via .NET herunter, um Ihre HTML-Dokumente erfolgreich, schnell und einfach zu bearbeiten. Die Python-Bibliothek kann HTML-Dokumente erstellen, ändern, Daten extrahieren, konvertieren und rendern, ohne dass externe Software erforderlich ist. Sie unterstützt gängige Dateiformate wie EPUB, MHTML, XML, SVG und Markdown und kann in die Dateiformate PDF, DOCX, XPS und Image rendern.

Aspose.HTML bietet einen kostenlosen Online- HTML-Konverter zur Konvertierung von HTML-Dokumenten in eine Vielzahl von gängigen Formaten. Laden Sie einfach HTML aus einer Datei oder einer URL, wählen Sie das zu konvertierende Format, und schon sind Sie fertig. Das geht schnell und ist völlig kostenlos!