gpt4 book ai didi

python - BeautifulSoup 在使用 findAll(text =' ') 后返回下一个 sibling

转载 作者:太空宇宙 更新时间:2023-11-04 14:40:49 25 4
gpt4 key购买 nike

在我通过使用 soup.findAll 搜索 HTML 找到我想要的内容后,我将如何使用 bs4 获取下一个兄弟

<td class="name">David<span class="flag away"</span>
</td>
<td class="team">b<span class="team b"></span></td>
<td class="time">99'</td>

<td class="name">James<span class="flag home"</span>
</td>
<td class="team">a<span class="team a"></span></td>
<td class="time">99'</td>

使用查找所有我能找到的文本

for t in soup.findAll(text='David'):
>> David

但是我想要的输出是

<td class="team">b<span class="team b"></span></td>
<td class="time">99'</td>

最佳答案

from bs4 import BeautifulSoup as soup, Tag


input = """<td class="name">David<span class="flag away"</span>
</td>
<td class="team">b<span class="team b"></span></td>
<td class="time">99'</td>

<td class="name">James<span class="flag home"</span>"""

web_soup = soup(input)
for t in web_soup.findAll(text='David'):
for item in t.parent.next_siblings:
if isinstance(item, Tag):
if 'class' in item.attrs and 'name' in item.attrs['class']:
break
print item

打印:

<td class="team">b<span class="team b"></span></td>
<td class="time">99'</td>

希望这就是你想要的。

关于python - BeautifulSoup 在使用 findAll(text =' ') 后返回下一个 sibling ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16982253/

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