Описание товаров на сайте поставщика может содержать ссылки на другие товары, картинки и другую HTML-разметку. При импорте таких товаров на наш сайт – необходимо очистить текст описания от ссылок, разметки и других элементов.
Ручной способ
С помощью готовых сервисов, например html-cleaner.
Автоматический способ
С помощью скрипта на Python и библиотеки html_sanitizer.
from html_sanitizer import Sanitizer
sanitizer = Sanitizer({
"tags": {"h2", "h3", "strong", "em", "p", "ul", "ol", "li", "br", "sub", "sup", "hr"},
"attributes": {},
"empty": {"hr", "br"},
"separate": {"p", "li"},
})
html = """
<div class="content detail-text-wrap" itemprop="description">
<a href="#">Стол</a> обеденный предназначен для оснащения комнат, кухонь, служебных помещений.<br>
Используется для приема пищи или временного размещения предметов.<br>
Стол изготовлен из ЛДСП панели с ножками из стальной профильной трубы с полимерным покрытием.
</div>
"""
description = sanitizer.sanitize(html)
Мы сохраняем основную разметку, такую как переносы, списки и т.д. Но удаляем ссылки и другие не нужные теги.
Стол обеденный предназначен для оснащения комнат, кухонь, служебных помещений.<br> Используется для приема пищи или временного размещения предметов.<br> Стол изготовлен из ЛДСП панели с ножками из стальной профильной трубы с полимерным покрытием.