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"))
如果这只是一个打字错误,并且您实际上有class以span3开头的属性,并且您确实需要检查以span3开头的类,则可以使用"starts-with"CSS selector:
soup.select("div[class^=span3]")
这是因为您不能像检查id属性那样检查class属性,因为class是特殊的,它是multi-valued attribute。
这篇关于如何在BeautifulSoup中找到类以字符串开头的所有div?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:如何在BeautifulSoup中找到类以字符串开头的所有div?
基础教程推荐
猜你喜欢
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
