如何在BeautifulSoup中找到所有以字符串开头的div?

前端之家收集整理的这篇文章主要介绍了如何在BeautifulSoup中找到所有以字符串开头的div?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在BeautifulSoup中,如果我想找到其类为span3的所有div,我只会这样做:
result = soup.findAll("div",{"class":"span3"})

但是,在我的情况下,我想找到所有以span3开头的div,因此,BeautifulSoup应该找到:

<div id="span3 span49">
<div id="span3 span39">

等等…

我如何实现我想要的目标?我熟悉正则表达式;但我不知道如何实现它们美丽的汤,也没有通过BeautifulSoup的文档找到任何帮助.

解决方法

好吧,这些是你显示的id属性
<div id="span3 span49">
<div id="span3 span39">

在这种情况下,您可以使用:

soup.find_all("div",id=lambda value: value and value.startswith("span3"))

要么:

soup.find_all("div",id=re.compile("^span3"))

如果这只是一个错字,并且你实际上有类属性以span3开头,并且你真的需要检查类以span3开头,你可以使用“starts-with”CSS selector

soup.select("div[class^=span3]")

这是因为你不能像检查id属性那样检查class属性,因为class是特殊的,它是multi-valued attribute.

猜你在找的CSS相关文章