python - Beautiful Soup:如何获取与任何给定字符串匹配的数据
问题描述
我正在尝试找出可以匹配任何输入字符串的元素。
例如:-
data = soup.find(text="something")
这工作得很好,但是当我必须搜索这样的东西时如何使用它: -
data = soup.find(text="something" or text="another something")
如果无法搜索多个字符串,那么执行类似操作的最佳方法应该是什么。
解决方案
Regex 无疑是搜索多个文本的有效且有用的方法,但人们经常忘记(或不知道)您可以传入字符串列表,Beautiful Soup 将返回与列表中的任何项目匹配的结果:
from bs4 import BeautifulSoup
html = """
<div>something</div>
<div>something else</div>
"""
soup = BeautifulSoup(html, "lxml")
items = soup.find_all(text=["something", "something else"])
print(items)
输出
['something', 'something else']
推荐阅读
- javascript - reactjs方法不断返回未定义
- least-squares - 缓存之前调用 lapacke gelsd 的中间结果
- ios - AVAssetWriter startSessionAtSourceTime 不接受 CMTIme 值
- jenkins - 詹金斯 Jira 集成
- excel - Power BI 矩阵中的列总和
- azure - Azure devops 部署失败:TypeError:无法读取未定义的属性“scmUri”
- java - 在javafx中可变地设置Dialog的ContentText
- java - Java QueryDSL 和 Gradle Kotlin DSL
- r - 根据数据框 B 中的条件,从数据框 A 的一列中求和
- angular - 如何以角度获得keyup的总和元素?