【发布时间】:2012-07-15 02:54:35
【问题描述】:
有没有办法使用BeautifulSoup 从 HTML 文件中获取 CSS 类?示例 sn-p:
<style type="text/css">
p.c3 {text-align: justify}
p.c2 {text-align: left}
p.c1 {text-align: center}
</style>
完美的输出应该是:
cssdict = {
'p.c3': {'text-align': 'justify'},
'p.c2': {'text-align': 'left'},
'p.c1': {'text-align': 'center'}
}
虽然这样可以:
L = [
('p.c3', {'text-align': 'justify'}),
('p.c2', {'text-align': 'left'}),
('p.c1', {'text-align': 'center'})
]
【问题讨论】:
-
您期望得到什么?文字
"\n\n p.c3 {text-align: justify}\n\n..."?请明确! -
“获取 CSS 类”是指“获取样式表中选择器中使用的 HTML 类的列表”吗?即你想要的结果是
['c3', 'c2', 'c1']? -
@Martin Pieters,@Quentin -- 更新了问题。
-
所以你想要规则集,而不是类?您需要找到一个 CSS 解析器。我不认为 BeautifulSoup 具有这些方面的任何功能(它可以获取样式表,但不能解析它)。
-
@Quentin -- 规则集是的,我的问题被错误地提出了。对此感到抱歉。我不确定 this(cmets) 是否适合问这个问题,但是有推荐的 css 解析器吗?
标签: python html css beautifulsoup