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

网页爬取忽略大小写匹配文本失败,报AttributeError错误求助

解决方法

错误原因很明确:当前网页里存在没有文本内容的<td>标签,这类标签的string属性是None,直接调用text.lower()就会触发AttributeError。其他网页没有这类空文本的td,所以代码能正常运行。

给你两种修复方案:

方案1:先判断文本是否存在再处理

修改lambda表达式,先检查text不为None,再转小写判断:

texto_licitacion = results.find_all("td", string=lambda text: text and "bienes" in text.lower())

方案2:用正则表达式匹配(更简洁)

利用BeautifulSoup支持正则的特性,直接用re.compile加上忽略大小写的参数:

import re
# 其他代码不变...
texto_licitacion = results.find_all("td", string=re.compile(r"bienes", re.IGNORECASE))

两种方法都能避免空文本导致的报错,同时实现忽略大小写筛选包含指定内容的td标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 06:16:12