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

尝试爬取网页数值时出现'NoneType' object is not callable报错如何解决

错误原因及修复方案

1. 直接触发报错的语法错误

  • 方法名拼写错误:BeautifulSoup 提供的查找所有匹配元素的方法是全小写的find_all,不是大写的findALL,Python 对大小写敏感,不存在的方法调用会返回 None,后续把 None 作为可调用对象执行就触发了该 TypeError。
  • 参数名拼写错误:查找时指定属性的参数是attrs,不是少了末尾s的attr。
  • 返回值使用错误:find_all返回的是匹配元素组成的列表,不能直接调用.text属性,如果你只需要第一个匹配的元素,直接用find方法即可。

2. 额外的逻辑问题

你请求的页面属于前端单页应用(SPA),页面内容是 JavaScript 动态渲染生成的,requests.get只能拿到未执行 JS 的初始静态源码,里面不存在你要找的card-value类元素,就算语法修正后也爬不到目标数据,需要使用 Selenium、Playwright 这类支持浏览器渲染的工具才能拿到动态加载的内容。

修正后的语法正确代码示例(仅修复语法,仍拿不到动态数据)

from bs4 import BeautifulSoup
import requests

url = 'https://app.wonderland.money/#/dashboard'
response = requests.get(url, timeout=5)
content = BeautifulSoup(response.content, "html.parser")

# 改用find方法取第一个匹配元素,参数用attrs
backing_ele = content.find(attrs={"class":"card-value"})
# 先判空避免属性不存在报错
backing = backing_ele.text if backing_ele else "未找到匹配元素"
print(backing)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:54:07