有没有一种方法可以从HTML文件中获取CSS类BeautifulSoup
?示例片段:
<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'})
]
BeautifulSoup本身根本不解析CSS样式声明,但是您 可以 提取这些部分,然后使用专用的CSS解析器对其进行解析。
根据您的需求,有多个CSS解析器可用于python。我会选择cssutils(需要python
2.5或更高版本(包括python 3)),它在支持方面是最完整的,并且也支持内联样式。
其他选项是css-py和tinycss。
抓取并解析所有样式部分(例如cssutils的示例):
import cssutils
sheets = []
for styletag in tree.findAll('style', type='text/css')
if not styletag.string: # probably an external sheet
continue
sheets.append(cssutils.parseStyle(styletag.string))
随着cssutil
然后你可以结合这些,进口的决心,甚至把它取外部样式表。
这是我第一次使用网页抓取。到目前为止,我能够导航并找到我想要的HTML部分。我也可以打印出来。问题是只打印文本,这不起作用。我在尝试时遇到以下错误: 这是我的代码:
问题内容: 我正在尝试学习一些漂亮的汤,并从一些iFrame中获取一些html数据-但到目前为止,我还没有取得很大的成功。 因此,解析iFrame本身似乎不是BS4的问题,但是我似乎并没有从中获得嵌入的内容-不管我做什么。 例如,考虑下面的iFrame(这是我在chrome开发人员工具上看到的): 我要提取的内容在哪里。 但是,当我使用以下BS4代码时: 我得到: 换句话说,我得到的iFrame中
如何使用JSOUP从html字符串获取图标路径? 我找到了在网页上添加favicon的不同方法- (在谷歌) 我能得到的第一个方法是使用doc。选择(“html头元”) 但我无法选择链接标签
问题内容: 我正在解析CSS,以便从链接的样式表中获取URL。这是一个Java应用程序。( 我尝试使用CSSParser( http://cssparser.sourceforge.net/ ),但是,它在解析时会默默地删除许多规则。) 所以我只是在使用Regex。我想要一个仅获取URL的正则表达式,并且足够健壮以应对来自狂野的真实CSS: 你明白了。这是在Java的regex实现中( 不是我的最
在Spring,我找到了一个给定url的MockMVC: 太好了。现在我想看看这将返回的html是什么。我该怎么做?我想要它的字符串表示(即String theHtml=...),这样我就可以解析它并在我的测试中检查它。
问题内容: 我正在使用beautifulSoup从网站提取数据。每当您重新加载页面时,该网站上的文本都会更改,因此基本上,我希望能够将重点放在类名上作为静态变量,因为文本是动态的。 它打印出 当页面重新加载,我仍然有重点的领域,但我不知道如何只打印文本(在这种情况下是:4) 一旦解决了这个问题,我还有另一个问题:如果该类包含多个标签,是否有办法获取更多静态数据,以确保它只打印我在搜索的文本,而不是