python - 如何在 python 中使用 BeautifulSoup 获得第二个跨度?
问题描述
我正在尝试获取此 div 和其他类似内容中的第二个跨度值(如下所示)
<div class="C(#959595) Fz(11px) D(ib) Mb(6px)">
<span>VALUE 1</span>
<i aria-hidden="true" class="Mx(4px)">•</i>
<span>TRYING TO GET THIS</span>
</div>
我试过查看类似的堆栈帖子,但我仍然不知道如何解决这个问题。这是我当前的代码:
time = soup.find_all('div', {'class': 'C(#959595) Fz(11px) D(ib) Mb(6px)'})
for i in time:
print(i.text) #this prints VALUE 1 x amount of times (there are multiple divs)
我已经尝试过 i.span、i.contents、i.children 等。我非常感谢任何帮助,谢谢!
解决方案
试试这个
from io import StringIO
from bs4 import BeautifulSoup as bs
data = """<div class="C(#959595) Fz(11px) D(ib) Mb(6px)">
<span>VALUE 1</span>
<i aria-hidden="true" class="Mx(4px)">•</i>
<span>TRYING TO GET THIS</span>
</div>
<div class="another class">
<span>VALUE 1</span>
<i aria-hidden="true" class="Mx(4px)">•</i>
<span>TRYING TO GET THIS</span>
</div>"""
soup = bs(StringIO(data))
spans = soup.select('div[class="C(#959595) Fz(11px) D(ib) Mb(6px)"] > span')
print(spans[1].text)
推荐阅读
- python - 如何使用 OpenCV 找到两个图像之间的缝合(接缝)位置?
- python - 在 Python 中添加线程名称以打印语句
- javascript - 元素更改时 DOM 不更新 (VUE)
- julia - 在 Julia 中,在 statsbase 中创建权重向量
- python - Keras Conv1D / 时间序列
- axios - 为什么 graphql 类型关系返回空值?
- python - Pandas Dataframe to Apache Beam PCollection conversion problem
- sql - Sqlite 查询以获取小时时间段的总和值
- java - 使用删除按钮从购物车中删除单个项目
- postgresql - Postgresql:如果插槽存在,则使用 create_slot=false 创建订阅