我试图在python上创建一个www页面渲染器,其中很大一部分是CSS解析和元素匹配。
我already created CSS parser使用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;}
那么伙计们,你有什么可以建议我用这样的结构吗?