BeautifulSoup, pero para CSS?

BeautifulSoup analiza HTML y ofrece varias formas de manipular y buscar dentro de HTML. ¿Hay algo similar para CSS?

Específicamente, me gustaría saber si un texto HTML dado se representa en negrita . O tiene un ancestro que es la etiqueta o (que se puede hacer con BeautifulSoup), o tiene un ancestro (o él mismo) que tiene atributos CSS con font-weight: bold .

¿Es esto posible sin tener que escribir mi propia biblioteca?

Echa un vistazo a la clase CSSParser del paquete cssutils .

Es posible que tenga algo de suerte al utilizar algunos de los paquetes de análisis de CSS disponibles para Python.

Uno en particular que puede tomar bloques CSS y convertirlos en estilos en línea es el paquete premailer . Eso podría facilitar el trabajo con la herramienta que ya está utilizando.