gpt4 book ai didi

python - 找到下一个跨度并打印文本

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:18 24 4
gpt4 key购买 nike

我有这个代码:

   <div class="result">
<span class="number">number</span>
<div class="results-metadata">
<span class="detail"><span class="unique name 1"></span> data 1</span>
<span class="detail"><span class="unique name 2"></span> data 2</span>
<br/>
<span class="detail"><span class="unique name 3"></span> data 3</span>
<br/>
<span class="detail"><span class="unique name 4"></span> data 4</span>
<br/>
</div>
<span class="label label-default"></span>
</div>

所以我想打印span class="detail"中的信息。我可以通过 soup.findAll('span', attrs={"class":"detail"}) 然后用 for 循环迭代来打印它们。我的问题是我正在使用 xlsxwriter 将此信息写入 excel 表。我希望数字与数据 1、2、3 和 4 相关联。我想要这样做的方法是找到跨度“唯一名称 1”,然后打印下一个跨度数据(在本例中为数据 1) .我相信我可以用 xpath 做到这一点,但还没有弄清楚如何。

有人可以通过查找“唯一名称 1”类然后移动到下一个跨度并打印该信息来帮助我在“详细信息”类中打印信息吗?谢谢。

最佳答案

当然,在 BeautifulSoup 的术语中,这称为 next sibling :

soup.find("span", class_="unique name 1").next_sibling.strip()

演示:

>>> from bs4 import BeautifulSoup
>>> data = """
... <div class="result">
... <span class="number">number</span>
... <div class="results-metadata">
... <span class="detail"><span class="unique name 1"></span> data 1</span>
... <span class="detail"><span class="unique name 2"></span> data 2</span>
... <br/>
... <span class="detail"><span class="unique name 3"></span> data 3</span>
... <br/>
... <span class="detail"><span class="unique name 4"></span> data 4</span>
... <br/>
... </div>
... <span class="label label-default"></span>
... </div>
... """
>>> soup = BeautifulSoup(data, "html.parser")
>>> soup.find("span", class_="unique name 1").next_sibling.strip()
u'data 1'

关于python - 找到下一个跨度并打印文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36990952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com