Remova o atributo class do HTML usando Python e lxml

Questão

Como faço para remover atributos de classe do html usando python e lxml?

Exemplo

Eu tenho:

<code><p class="DumbClass">Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>
</code>

Eu quero:

<code><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>
</code>
O que eu tentei até agora

Eu verifiqueilxml.html.clean.Cleaner no entanto, ele não possui um método para remover os atributos de classe. Você pode definirsafe_attrs_only=True no entanto, isso não remove o atributo de classe.

Pesquisas significativas não resultaram em nada viável. Eu acho que o fato de queclass é usado em ambos os html e python ainda turva resultados de pesquisa. Muitos dos resultados também parecem lidar estritamente com xml também.

Estou aberto a outros módulos python que também oferecem interfaces humanas.

Muito obrigado.

Solução

Graças à resposta do @Dan Roberts abaixo, eu criei a seguinte solução. Apresentado para pessoas que chegam aqui no futuro tentando resolver o mesmo problema.

<code>import lxml.html

# Our html string we want to remove the class attribute from
html_string = '<p class="DumbClass">Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>'

# Parse the html
html = lxml.html.fromstring(html_string)

# Print out our "Before"
print lxml.html.tostring(html)

# .xpath below gives us a list of all elements that have a class attribute
# xpath syntax explained:
# // = select all tags that match our expression regardless of location in doc
# * = match any tag
# [@class] = match all class attributes
for tag in html.xpath('//*[@class]'):
    # For each element with a class attribute, remove that class attribute
    tag.attrib.pop('class')

# Print out our "After"
print lxml.html.tostring(html)
</code>

questionAnswers(2)

yourAnswerToTheQuestion