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:
1# Save HTML to a file using Python
2
3import os
4import aspose.html as ah
5
6# Prepare an output path for saving the document
7output_dir = "output/"
8if not os.path.exists(output_dir):
9 os.makedirs(output_dir)
10
11document_path = os.path.join(output_dir, "save-html-document.html")
12
13# Initialize an empty HTML document
14with ah.HTMLDocument() as document:
15 # Create a text node and add it to the document
16 text = document.create_text_node("Hello, World!")
17 document.body.append_child(text)
18
19 # Save HTML to a file
20 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.
1# Save HTML with a linked resources using Python
2
3import os
4import aspose.html as ah
5import aspose.html.saving as sav
6
7# Prepare an output path for the document
8output_dir = "output"
9if not os.path.exists(output_dir):
10 os.makedirs(output_dir)
11
12document_path = os.path.join(output_dir, "save-with-linked-file.html")
13
14# Prepare a simple HTML file with a linked document
15with open(document_path, "w") as file:
16 file.write("<p>Hello, World!</p>" +
17 "<a href='linked.html'>linked file</a>")
18
19# Prepare a simple linked HTML file
20with open(os.path.join(output_dir, "linked.html"), "w") as file:
21 file.write("<p>Hello, linked file!</p>")
22
23# Load the "save-with-linked-file.html" into memory
24document = ah.HTMLDocument(document_path)
25
26# Create a save options instance
27options = sav.HTMLSaveOptions()
28
29# The following line with value '0' cuts off all other linked HTML-files while saving this instance
30# If you remove this line or change value to '1', the 'linked.html' file will be saved as well to the output folder
31options.resource_handling_options.max_handling_depth = 1
32
33# Save the document with the save options
34output_path = os.path.join(output_dir, "save-with-linked-file_out.html")
35document.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 using Python
2
3import os
4import aspose.html as ah
5import aspose.html.saving as sav
6
7# Define the output directory and document path
8output_dir = 'output'
9document_path = os.path.join(output_dir, 'save-html-to-mhtml.mht')
10
11# Ensure the output directory exists
12os.makedirs(output_dir, exist_ok=True)
13
14# Prepare a simple HTML file with a linked document
15with open('document.html', 'w') as file:
16 file.write("<p>Hello, World!</p>"
17 "<a href='linked-file.html'>linked file</a>")
18
19# Prepare a simple linked HTML file
20with open('linked-file.html', 'w') as file:
21 file.write("<p>Hello, linked file!</p>")
22
23# Load the "document.html" into memory
24with ah.HTMLDocument('document.html') as document:
25 # Save the document to MHTML format
26 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 using Python
2
3import os
4import aspose.html as ah
5import aspose.html.saving as sav
6
7# Prepare a path to a source and output HTML file
8data_dir = "data"
9output_dir = "output/"
10if not os.path.exists(output_dir):
11 os.makedirs(output_dir)
12
13input_path = os.path.join(data_dir, "document.html")
14output_path = os.path.join(output_dir, "html-to-markdown.md")
15
16# Load the HTML document from a file
17document = ah.HTMLDocument(input_path)
18
19# Save the document to MHTML format
20document.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 SVG document using Python
2
3import os
4import aspose.html.dom.svg as ahsvg
5
6# Define the output directory and document path
7output_dir = 'output'
8document_path = os.path.join(output_dir, 'save-html-to-svg.svg')
9
10# Ensure the output directory exists
11os.makedirs(output_dir, exist_ok=True)
12
13# Prepare SVG code
14svg_code = """
15<svg xmlns='http://www.w3.org/2000/svg' height='400' width='300'>
16 <path stroke="#a06e84" stroke-width="3" fill="#74aeaf" d="
17 M 150,50 L 150, 300
18 M 120,100 L 150,50 L 180, 100
19 M 110,150 L 150,90 L 190, 150
20 M 90,220 L 150,130 L 210, 220
21 M 70,300 L 150,190 L 230, 300
22 M 110,310 L 150,240 L 190, 310
23 " />
24</svg>
25"""
26
27# Initialize an SVG instance from the content string
28document = ahsvg.SVGDocument(svg_code, '.')
29
30# Save SVG
31document.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!