Solución:
No puedo probar esto en este momento, pero esta parece ser la idea general.
for tag in node.xpath('//*[@class]'):
tag.attrib.pop('class')
lxml.html.clean.Cleaner funciona, pero necesita una configuración adecuada.
import lxml.html
from lxml.html import clean
html_string = '<p id="test" class="DumbClass">Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>'
tree = html.fromstring(html_string)
cleaner = html.clean.Cleaner()
cleaner.safe_attrs_only = True
cleaner.safe_attrs=frozenset(['id'])
cleaned = cleaner.clean_html(tree)
print(html.tostring(cleaned))
Resulta en :
b'<p id="test">Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>'
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)