使用 python 和正则表达式 BeautifulSoup lxml 查找文本

Posted

技术标签:

【中文标题】使用 python 和正则表达式 BeautifulSoup lxml 查找文本【英文标题】:Find with text using python and regex BeautifulSoup lxml 【发布时间】:2021-12-24 07:10:48 【问题描述】:

如何查找带有文本的数据? 例如

<td>
    <span class="data-list clear-none">active</span>
    <span class="data-list clear-none">not active</span>
    <span class="data-list clear-none">null</span>
    <span class="data-list clear-none">none</span>
<td>

我只想获取包含 active 的类?什么是最好的方法? 现在试试

current_lifter = soup.findAll("span", "class": "data-list clear-none")

但只想获取开始 active

的文本

【问题讨论】:

【参考方案1】:

使用string='active' 作为find(或findAll)的参数

>>> soup.find("span", "class": "data-list clear-none", string='active')
<span class="data-list clear-none">active</span>

是否有任何功能,例如 active *.我的意思是在活动后得到一切

import re

soup.find("span", "class": "data-list clear-none", string=re.compile('^active.*'))

请参阅documentation。 string 也可以接受正则表达式。

【讨论】:

太好了,是否有任何功能,例如 active * 。我的意思是在活动后得到一切【参考方案2】:
current_lifter = soup.find_all("span", class = "data-list clear-none", string='active')

然后运行迭代器获取文本。

【讨论】:

太好了,是否有任何功能,例如 active * 。我的意思是在活动后得到一切

以上是关于使用 python 和正则表达式 BeautifulSoup lxml 查找文本的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫:想听榜单歌曲?只需要14行代码即可搞定

python 正则表达式re使用模块(match()search()和compile())

19 Python 正则模块和正则表达式

Python中正则表达式的使用

python re正则表达式基本使用介绍

python正则表达式