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

Python使用BeautifulSoup抓取无ID表格中id=boat的tr下方数据方法咨询

解法

BeautifulSoup 提供了同级元素遍历方法,可以精准定位到你需要的目标元素,不会受页面其他位置同类名元素的干扰,具体实现如下:

  • 先定位到已确认的id="boat"的tr元素
  • 调用find_next_sibling()方法,直接查找该元素紧邻的下一个符合要求的tr即可

基础代码示例

from bs4 import BeautifulSoup

# 传入实际的页面HTML内容初始化soup
soup = BeautifulSoup(你的页面HTML文本变量, 'html.parser')

# 定位id为boat的tr
boat_tr = soup.find('tr', id='boat')

# 查找紧邻的下一个类为bottomline的tr
target_tr = boat_tr.find_next_sibling('tr', class_='bottomline')

# 提取目标tr内所有td的文本内容示例
if target_tr:
    data = [td.get_text(strip=True) for td in target_tr.find_all('td')]
    print(data)

特殊场景适配

如果boat对应的tr和目标tr中间夹了其他非tr的同级节点,只需要把方法换成find_next_siblings()(返回所有后续符合要求的同级元素列表),取列表第一个元素即可:

target_tr = boat_tr.find_next_siblings('tr', class_='bottomline')[0]

该方法只会在当前boat tr的后续同级节点范围内检索,完全不会匹配到页面其他位置同类名的tr、div元素,刚好适配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:27:02