Красивый вывод HTML в файл с отступами с помощью lxml.html
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Чтобы сделать HTML-код более читаемым и структурированным в Python, используем библиотеку BeautifulSoup. Прежде всего установим ее командой pip install beautifulsoup4
. Затем применим метод prettify()
, который преобразует ваш HTML-код, записывая результат в файл следующим образом:
from bs4 import BeautifulSoup
# Ваш исходный HTML-код
html_content = "<your_html_here>"
soup = BeautifulSoup(html_content, 'html.parser')
# Код, подвергнутый обработке
pretty_html = soup.prettify()
# Запишите этот код в файл
with open('formatted.html', 'w') as file:
file.write(pretty_html)
Таким образом, ваш HTML-код становится более структурированным и понятным, и может быть найден в файле formatted.html
.
Инструменты для форматирования кода
BeautifulSoup – это отличный инструмент для обработки HTML, однако в зависимости от задачи, может быть полезным использовать другие инструменты. Подборка нескольких инструментов для альтернативного форматирования кода представлена ниже.
Продуктивное форматирование с lxml
Если вы работаете с HTML-документами, созданными с помощью lxml
, используйте функцию lxml.etree.tostring()
, установив параметр pretty_print=True
. Для работы с этим кодом в Python используйте значение 'unicode'
:
from lxml import etree
# Исходный HTML-код
html_element = etree.Element("html")
# Форматируемый код
pretty_html = etree.tostring(html_element, encoding='unicode', pretty_print=True)
# Сохраняем код в файл 'formatted_lxml.html'
with open('formatted_lxml.html', 'w') as file:
file.write(pretty_html)
В результате получаем аккуратный и чистый HTML-файл.
Набор инструментов html5print
Если вам нужен полный набор инструментов для обработки кода, воспользуйтесь библиотекой html5print
. Она может работать не только с HTML, но и с CSS и JavaScript.
from html5print import HTMLBeautifier
# Исходный HTML-код
html = "<your_html_code>"
# Обработанный код
pretty_html = HTMLBeautifier.beautify(html, 4)
# Сохраняем результат в 'html5_output.html'
with open('html5_output.html', 'w') as file:
file.write(pretty_html)
Создание и форматирование с помощью yattag
Если вы ищете инструмент, который строит и форматирует HTML одновременно, то yattag справится с этой задачей.
from yattag import Doc, indent
# Исходный HTML-код
doc, tag, text = Doc().tagtext()
with tag('html'):
with tag('body'):
with tag('p'):
text('Hello world!')
# Отформатированный код
pretty_html = indent(doc.getvalue())
# Сохраняем результирующий код в 'yattag_output.html'!
with open('yattag_output.html', 'w') as file:
file.write(pretty_html)
Этот инструмент позволяет вам контролировать отступы, создавая код, аналогично тому, как вы бы управляли персонажем в игре FIFA!
Мы стараемся сделать HTML-код правильным
Помните главное: прежде чем украшать HTML-код, убедитесь в его семантической корректности. Для проверки этого вы можете воспользоваться Валидатором W3C, который будет следить за качеством вашего кода.
Визуализация
Так можно представить HTML-код как стаю уток:
До использования Pretty Print: [🦆🦆🦆🦆🦆🦆🦆]
// Беспорядочное смешение элементов кода
Формат Pretty Print выстраивает все в логическую серию отступов:
После применения Pretty Print:
🦆
🐥
🦢
🐥
🦆
// Отступы помогают аккуратно разместить всё в логичную последовательность.
Это наглядно демонстрирует, как неструктурированный HTML преобразуется в отформатированный и структурированный код.
Полезные материалы
- Онлайн форматирование JavaScript — сервис для форматирования JavaScript, который также работает и с HTML.
- GitHub – beautifier/js-beautify — код для форматирования HTML на платформе Node.js.
- HTML Tidy — инструмент, который превращает HTML-код в чистый и понятный.
- HTML-CSS-JS Prettify – Packages — плагин для Sublime Text, предназначенный для форматирования HTML, CSS и JavaScript кода.
- Beautiful Soup: Мы назвали его Tortoise, потому что он научил нас. — библиотека Python для обработки HTML и XML, возвращающая структуру и читабельность кода.
- Служба валидации разметки W3C — валидатор HTML, проверяющий корректность кода.
- Работа с HTML в Visual Studio Code — руководство по созданию стильного и неотразимого HTML.