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

无class或id时如何使用BeautifulSoup获取日期相邻td的文本

实现方案

你可以直接使用BeautifulSoup内置的find_next_sibling()方法定位当前td的下一个同层级td节点,具体代码如下:

# 先获取你已经定位到的日期所属td节点
date_td = soup.find_all('td', {'valign': 'top'})[0]
# 查找相邻的下一个td元素并提取文本
result = date_td.find_next_sibling('td').get_text(strip=True)
print(result)

运行上述代码即可输出目标文本:Wow, you get it!

补充说明

  • 不推荐直接使用.next_sibling属性,因为HTML节点之间的换行、空白字符会被识别为独立的文本节点,直接调用.next_sibling大概率会拿到空内容,find_next_sibling('td')会自动过滤无效节点,直接匹配下一个td标签,稳定性更高。
  • get_text()方法传入strip=True参数可以自动去除文本前后的换行、多余空格,无需额外做格式清洗。
  • 如果要避免索引变动导致的匹配错误,也可以通过日期内容精准定位节点:
# 直接匹配对应日期的td节点
target_date_td = soup.find(
    'td',
    {'valign': 'top'},
    string=lambda text: text and "Aug 15 2021, 18:36:22 CEST" in text
)
if target_date_td:
    print(target_date_td.find_next_sibling('td').get_text(strip=True))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:12:02