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

使用Python Beautiful Soup处理动态网页中不存在的表格问题

处理Beautiful Soup中表格不存在的情况

解决这个问题的核心是先判断目标表格是否存在,避免在None对象上调用方法导致报错,同时针对无数据场景做对应处理。

修改后的代码

Sales = soup.find('table', id="tblSales")
if Sales:
    # 表格存在时解析数据
    rows = Sales.find_all('tr')
    for tr in rows:
        td_list = tr.find_all('td')
        row_data = [i.text.strip() for i in td_list]
        # 跳过空行(比如表头或无内容的行)
        if row_data:
            print(row_data)
else:
    # 表格不存在时,检查是否是无销售数据的场景
    no_sales_elem = soup.find('span', id="ucSaleInfo_lblNoSales")
    if no_sales_elem:
        print("无销售数据")
    else:
        print("未找到销售相关内容")

关键说明

  • 判断表格是否存在:soup.find()方法找不到目标元素时会返回None,用if Sales:可以直接判断表格是否存在,只有存在时才执行后续解析逻辑,避免触发AttributeError。
  • 避免变量名冲突:原代码中循环内重新赋值了SaleData,会覆盖外层的表格行列表,修改为row_data可避免逻辑混乱。
  • 处理无数据场景:通过查找指定ID的<span>元素,精准识别无销售数据的情况,输出对应提示,保证程序能继续处理下一个网页。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 09:30:36