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.
- Aspose.HTML Python API bietet den aspose.html.saving Namespace mit den Klassen SaveOptions und ResourceHandlingOptions, mit denen Sie Optionen für Speichervorgänge festlegen können.
- Aspose.HTML for Python via .NET bietet den Namensraum aspose.html.saving.resourcehandlers, der die Klassen ResourceHandler und FileSystemResourceHandler enthält, die für die Handhabung von Ressourcen zuständig sind.
Bitte beachten Sie, dass Aspose.HTML for Python via .NET zwei verschiedene Ansätze für die Erstellung der Ausgabedateien bietet:
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.
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:
1import os
2from aspose.html import *
3
4# Prepare an output path for saving the document
5output_dir = "output/"
6if not os.path.exists(output_dir):
7 os.makedirs(output_dir)
8
9document_path = os.path.join(output_dir, "create-new-document.html")
10
11# Initialize an empty HTML document
12with HTMLDocument() as document:
13 # Create a text node and add it to the document
14 text = document.create_text_node("Hello, World!")
15 document.body.append_child(text)
16
17 # Save the document to a file
18 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:
die Eigenschaft java_script bestimmt, wie JavaScript-Ressourcen verwaltet werden. Sie können als separate verknüpfte Datei gespeichert, in eine HTML-Datei eingebettet oder auch ignoriert werden. Der Standardwert ist
ResourceHandling.SAVE
.default legt die Standardbehandlungsmethode für alle Ressourcen fest. Der Standardwert ist
ResourceHandling.SAVE
.die Eigenschaft resource_url_restriction definiert die URL-Einschränkungen für Ressourcen wie CSS, JavaScript und Bilder. Der Standardwert ist
UrlRestriction.SAME_HOST
, der die Ressourcen auf diejenigen beschränkt, die in der gleichen Domäne wie das Dokument gehostet werden.die Eigenschaft page_url_restriction legt URL-Einschränkungen für Seiten fest. Der Standardwert ist
UrlRestriction.ROOT_AND_SUB_FOLDERS
, was bedeutet, dass nur Seiten innerhalb des Stammverzeichnisses und seiner Unterordner behandelt werden.die Eigenschaft max_handling_depth steuert die maximale Tiefe der Seitenbehandlung. Eine Tiefe von 1 bedeutet, dass nur Seiten behandelt werden, auf die im gespeicherten Dokument direkt verwiesen wird. Wird diese Eigenschaft auf -1 gesetzt, werden alle Seiten behandelt. Der Standardwert ist 0, was bedeutet, dass nur das Dokument selbst verarbeitet wird.
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.
1import os
2from aspose.html import *
3from aspose.html.saving import *
4
5# Prepare an output path for the document
6output_dir = "output/"
7if not os.path.exists(output_dir):
8 os.makedirs(output_dir)
9
10document_path = os.path.join(output_dir, "save-with-linked-file.html")
11
12# Prepare a simple HTML file with a linked document
13with open(document_path, "w") as file:
14 file.write("<p>Hello, World!</p>" +
15 "<a href="linked.html">linked file</a>")
16
17# Prepare a simple linked HTML file
18with open(os.path.join(output_dir, "linked.html"), "w") as file:
19 file.write("<p>Hello, linked file!</p>")
20
21# Load the "save-with-linked-file.html" into memory
22document = HTMLDocument(document_path)
23
24# Create a save options instance
25options = HTMLSaveOptions()
26
27# The following line with value "0" cuts off all other linked HTML files while saving this instance
28# If you remove this line or change the value to "1", the "linked.html" file will be saved as well to the output folder
29options.resource_handling_options.max_handling_depth = 1
30
31# Save the document with the save options
32output_path = os.path.join(output_dir, "save-with-linked-file_out.html")
33document.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.
1import os
2from aspose.html import *
3from aspose.html.saving import *
4
5# Define the output directory and document path
6output_dir = "output/"
7document_path = os.path.join(output_dir, "save-to-MHTML.mht")
8
9# Ensure the output directory exists
10os.makedirs(output_dir, exist_ok=True)
11
12# Prepare a simple HTML file with a linked document
13with open("document.html", "w") as file:
14 file.write("<p>Hello, World! I save HTML to MHTML.</p>"
15 "<a href="linked-file.html">linked file</a>")
16
17# Prepare a simple linked HTML file
18with open("linked-file.html", "w") as file:
19 file.write("<p>Hello, linked file!</p>")
20
21# Load the "document.html" into memory
22with HTMLDocument("document.html") as document:
23 # Save the document to MHTML format
24 document.save(document_path, 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:
1import os
2from aspose.html import *
3from aspose.html.saving import *
4
5# Prepare a path to a source and output HTML file
6data_dir = "data"
7output_dir = "output/"
8if not os.path.exists(output_dir):
9 os.makedirs(output_dir)
10
11input_path = os.path.join(data_dir, "document.html")
12output_path = os.path.join(output_dir, "html-to-markdown.md")
13
14# Load the HTML document from a file
15document = HTMLDocument(input_path)
16
17# Save the document to MHTML format
18document.save(output_path, 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.
1import os
2from aspose.html import *
3from aspose.html.dom.svg import *
4
5# Define the output directory and document path
6output_dir = "output/"
7document_path = os.path.join(output_dir, "save-to.svg")
8
9# Ensure the output directory exists
10os.makedirs(output_dir, exist_ok=True)
11
12# Prepare SVG code
13svg_code = """
14<svg xmlns="http://www.w3.org/2000/svg" height="400" width="300">
15 <path stroke="#a06e84" stroke-width="3" fill="#74aeaf" d="
16 M 150,50 L 150, 300
17 M 120,100 L 150,50 L 180, 100
18 M 110,150 L 150,90 L 190, 150
19 M 90,220 L 150,130 L 210, 220
20 M 70,300 L 150,190 L 230, 300
21 M 110,310 L 150,240 L 190, 310
22 " />
23</svg>
24"""
25
26# Initialize an SVG instance from the content string
27document = SVGDocument(svg_code, ".")
28
29# Save SVG
30document.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!