Я знаю, что могу удалить теги, такие как <h1>
и т. Д., С помощью LXML, но как мне заставить его сохранить тег, но удалить все остальное, например, так:
<h1 style='font-size: 24px; margin: 0px 0px 12px; font-weight: 600;
line-height: 28px; color: rgb(23, 43, 77); font-family:
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"Noto Sans", Ubuntu, "Droid Sans",
"Helvetica Neue", sans-serif; font-style: normal;
font-variant-ligatures: normal; font-variant-caps: normal;
letter-spacing: normal; orphans: 2; text-align: start;
text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgb(244, 245, 247); text-decoration-style:
initial; text-decoration-color: initial;'>This text must stay</h1>
Вышеприведенное должно быть очищено один раз:
<h1>This text must stay</h1>
В настоящее время я делаю это, но не могу заставить его сохранить тег и удалить класс тега и т. Д .:
safe_attrs = list(lxml.html.clean.defs.safe_attrs) + ['bgcolor']
lxml.html.clean.defs.safe_attrs = safe_attrs
lxml.html.clean.Cleaner.safe_attrs = lxml.html.clean.defs.safe_attrs
cleaner = lxml.html.clean.Cleaner(style=False, remove_tags=['body', 'pre'], safe_attrs_only=True,
safe_attrs=safe_attrs, kill_tags=['title', 'code'])
return cleaner.clean_html(data)