我试图在 python 上创建一个 www-page 渲染器,其中很大一部分是 CSS 解析和匹配元素。
我已经使用ply
. 它支持 css2.1 语法和部分 css3。
现在我想创建一些结构,以便为给定元素轻松提取样式。例子:
CSS:
a { display: block; font-size: 12pt; }
div p.links a { color: green; display: inline; }
让我们假设我解析了它并创建了所需的结构。
那么用这样的东西查询该结构应该很容易:
cssTable.get_styles( 'html > div#content > h3 > a' );
它将返回第一个规则集:{ display: block; font-size: 12pt; }
如果我用这个查询它:
cssTable.get_styles( 'html > div#content > p.links > a' );
它将返回合并的规则集:{display: inline; color: green; font-size: 12pt;}
所以,伙计们,你有什么可以建议我使用这种结构的吗?