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

使用Beautiful Soup爬取新闻时遇AttributeError: 'NoneType'无text属性

解决Beautiful Soup爬取新闻时的AttributeError: 'NoneType' object has no attribute 'text'错误

错误原因

你代码里的link.find("strong")返回了None,说明当前遍历的link节点下找不到<strong>标签,直接对None调用.text属性就会触发这个报错。同理,后续的link.find(class_="PT3 a_10dgry")也可能出现同样的问题。

解决办法

  1. 先判断元素存在再获取文本
    在调用.text前,先检查查找结果是否为None,避免报错:
for link in data_array_tcs:
    # 处理标题
    title_elem = link.find("strong")
    title_all = title_elem.text.strip() if title_elem else ""
    # 处理日期
    date_elem = link.find(class_="PT3 a_10dgry")
    date_all = date_elem.text.strip() if date_elem else ""
  1. 使用get_text()方法(推荐)
    Beautiful Soup的元素对象提供get_text()方法,支持传入默认值,无需额外判断(要求Beautiful Soup版本≥4.7.0):
for link in data_array_tcs:
    title_all = link.find("strong").get_text(strip=True, default="")
    date_all = link.find(class_="PT3 a_10dgry").get_text(strip=True, default="")

strip=True会自动去除文本前后的空白字符,让结果更整洁。

  1. 验证页面结构是否匹配
    如果上述方法还是出现大量空值,说明目标网站的页面结构可能更新了——原来的<strong>标签或PT3 a_10dgry类名可能被修改。打开浏览器开发者工具(F12),重新定位新闻标题和日期的元素,确认选择器是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:21:00