Сохранить HTML-документа на Python

Как сохранить HTML на Python

В этой статье представлено подробное руководство о том, как сохранить HTML-документ с помощью Aspose.HTML for Python via .NET API. После работы с HTML-документами вы можете сохранить изменения одним из методов HTMLDocument.save(). Существуют способы сохранить документ в файл или URL-адрес.

В этой статье будет рассмотрено использование классов SaveOptions и ResourceHandler.

Сохранить HTML

После внесения изменений в HTML-документ вы можете сохранить его. Вы можете сделать это, используя один из методов save(), предоставляемых классом HTMLDocument. Вот простой пример Python для сохранения HTML-файла:

 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)

В приведенном выше примере мы используем конструктор HTMLDocument() для инициализации пустого HTML-документа. Метод create_text_node(data) класса HTMLDocument создает текстовый узел по заданной строке. Когда вы вызываете document.save(document_path), метод записывает HTML-содержимое объекта document в файл, указанный document_path.

Приведенный выше пример довольно прост. Однако в реальных приложениях часто требуется дополнительный контроль над процессом сохранения. В следующих нескольких разделах описывается, как использовать параметры обработки ресурсов или сохранять документ в различных форматах.

SaveOptions и ResourceHandlingOptions

SaveOptions – это базовый класс, который позволяет указывать дополнительные параметры сохранения операций и помогает управлять связанными ресурсами. Свойство resource_handling_options класса SaveOptions используется для настройки обработки ресурсов. Класс ResourceHandlingOptions определяет параметры управления ресурсами, связанными с HTML-документом. Он предоставляет несколько свойств для управления тем, как обрабатываются различные типы ресурсов во время сохранения или обработки документа:

Сохранить HTML в файл

В следующем фрагменте кода Python показано, как использовать свойство resource_handling_options класса SaveOptions для управления связанными с вашими файлами документа.

 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)

Если вам нужно сохранить HTML как изображение или документ с фиксированным макетом, например PDF, вы можете преобразовать документ в нужный вам формат. Дополнительную информацию см. в разделе Конвертер HTML.

Сохранить HTML в MHTML

В некоторых случаях вам необходимо сохранить веб-страницу в виде одного файла. Документ MHTML может быть удобен и полезен для этой цели, поскольку он представляет собой архив веб-страницы и хранит все внутри себя. HTMLSaveFormat Enumeration определяет формат, в котором сохраняется документ. Это могут быть форматы HTML, MHTML и Markdown. В приведенном ниже примере показано, как использовать метод save(path, save_format) для сохранения HTML в MHTML.

 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)

Сохраненный файл save-to-MTHML.mht хранит HTML файлы document.html и linked-file.html.

Сохранить HTML в Markdown

Markdown – это язык разметки с синтаксисом простого текста. Помимо примера HTML в MHTML, вы можете использовать HTMLSaveFormat для сохранения HTML в Markdown. Пожалуйста, взгляните на следующий пример Python:

 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

Обычно SVG встроен в файл HTML для представления векторной графики, такой как изображения, значки, таблицы и т. д. Однако SVG также можно извлечь из веб-страницы и манипулировать им независимо, как и HTML-документ.

Поскольку и SVGDocument, и HTMLDocument соответствуют стандарту WHATWG DOM, их операции, такие как загрузка, чтение, редактирование, преобразование и сохранение, во многом схожи. Таким образом, любые примеры, демонстрирующие манипуляции с HTMLDocument, также могут быть применены к SVGDocument.

 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)

Для получения дополнительной информации об использовании Python API Aspose.SVG для обработки и рендеринга документов SVG обратитесь к документации Aspose.SVG for Python via .NET.

Загрузите библиотеку Aspose.HTML for Python via .NET, чтобы успешно, быстро и легко манипулировать вашими HTML-документами. Библиотека Python может создавать, изменять, извлекать данные, конвертировать и отображать HTML-документы без необходимости использования внешнего программного обеспечения. Она поддерживает популярные форматы файлов, такие как EPUB, MHTML, XML, SVG и Markdown, а также может выполнять рендеринг в форматах файлов PDF, DOCX, XPS и изображений.

Aspose.HTML предлагает бесплатный онлайн Kонвертер HTML для преобразования HTML-документов в различные популярные форматы. Просто загрузите HTML из файла или URL-адреса, выберите формат для преобразования, и все готово. Это быстро и совершенно бесплатно!

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.