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

How to find all divs whose class starts with a string in BeautifulSoup?(如何在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"))

如果这只是一个打字错误,并且您实际上有classspan3开头的属性,并且您确实需要检查以span3开头的类,则可以使用"starts-with"CSS selector:

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

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

这篇关于如何在BeautifulSoup中找到类以字符串开头的所有div?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)