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

爬取网站商品价格时触发TypeError: 'str' object is not callable报错求助

报错解决方法

错误根源

TypeError: 'str' object is not callable 报错的直接原因如下:

  • 代码中soup.find(...).text返回的是字符串类型,你已经把字符串赋值给了newprice变量
  • 循环中print(newprice())给字符串变量加了括号,Python会将括号识别为调用函数的操作,字符串不属于可调用对象,因此触发类型错误。

同时你的现有逻辑还存在功能缺陷:页面请求、价格提取逻辑写在循环外部,只会执行一次,就算修复语法错误,循环也只会反复打印同一个固定价格,无法实现每秒刷新获取最新价格的需求。

修复后完整代码

import requests
from bs4 import BeautifulSoup
import time

url = "https://www.roblox.com/catalog/20573078/Shaggy"
loop_flag = 1

while loop_flag == 1:
    # 每次循环重新请求页面获取最新数据
    response = requests.get(url)
    soup = BeautifulSoup(response.content, 'html.parser')
    newprice = soup.find("span", {"class": "text-robux-lg wait-for-i18n-format-render"}).text
    # 直接打印字符串变量,不要加括号
    print(newprice)
    time.sleep(1)

核心修改点

  • 移除print语句中newprice后的括号,直接打印字符串变量
  • 将页面请求、解析、价格提取逻辑移到循环内部,保证每次循环都能拿到最新的价格数据
  • 调整休眠语句位置到打印之后,符合常规执行逻辑,你也可以根据自身需求调整位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:06:07