Сохранить 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 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)

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

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

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

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

 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)

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

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

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

 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

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

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

 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)

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

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.