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

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

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

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

Сохранить HTML

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

 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)

В приведенном выше примере мы используем конструктор 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 для управления связанными с вашими файлами документа.

 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)

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

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

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

 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)

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

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

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

 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

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

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

 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)

Для получения дополнительной информации об использовании 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-адреса, выберите формат для преобразования, и все готово. Это быстро и совершенно бесплатно!