You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BeautifulSoup中对可变次数n调用findNext()方法

BeautifulSoup 重复调用findNext()获取第n个相邻元素解决方案

核心问题解答

  • 是否需要用for循环实现:可以用for循环实现,逻辑直观灵活,非常适合n为可变参数的场景
  • 查找第五个相邻td元素的两种实现方案如下:

方案1:for循环实现(适配任意可变次数n)

你可以通过循环重复调用findNext()方法,n设为5即可拿到第五个相邻td元素:

# 假设你初始调用findNext的标签对象为soup_tag
n = 5
current = soup_tag
for _ in range(n):
    current = current.findNext('td')
result = current.text

方案2:调用内置方法简化代码(无需手写循环)

BeautifulSoup原生提供find_next_siblings()方法可以直接获取所有后续同级td元素,索引从0开始计数,第五个对应索引4:

result = soup_tag.find_next_siblings('td')[4].text

注意:实际使用时建议提前校验标签存在性,避免标签数量不足导致的索引越界、属性调用报错问题。


内容的提问来源于stack exchange,提问作者Jimmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:36:04