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

Python网页爬虫提取HTML标签文本遇AttributeError错误如何解决?

解决Python爬虫提取日期时的AttributeError问题

问题原因

item.find('span', {'class': 'POSITIVE'})返回了None,说明当前遍历的item节点中没有匹配到目标span标签,直接调用.text或.get_text()自然会触发AttributeError。

修改方案

先判断查找结果是否有效,再提取文本,避免空对象调用方法:

方法1:基础判断(适合新手理解)

# 先获取目标元素
date_element = item.find('span', {'class': 'POSITIVE'})
# 检查元素是否存在
if date_element:
    # 提取文本,strip=True去除前后空白
    date_text = date_element.get_text(strip=True)
    # 将提取到的日期加入结果集合/列表
    dates.add(date_text)  # 如果你用set存储的话
else:
    # 没有找到标签时的处理,比如跳过或记录日志
    print(f"当前item未找到目标日期标签")

方法2:简洁写法(Python 3.8+支持)

使用海象运算符简化判断逻辑:

if date_element := item.find('span', {'class': 'POSITIVE'}):
    dates.add(date_element.get_text(strip=True))

额外提示

  • 优先用.get_text()而非.text,前者可以通过strip=True自动清理文本前后的空格、换行符,更适合爬虫场景。
  • 如果页面中有多个符合条件的标签,改用find_all()遍历所有结果,再逐个提取文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 06:21:36