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

运行Python爬虫报'built_in_function_or_method'对象不可下标错误如何解决

错误原因及修复方案

1 直接报错的根因

你抛出'built in_function_or_method' object is not subscriptable的原因是误用了列表append方法的调用语法:
append是列表的内置方法,调用时需要用圆括号包裹参数,你写的products.append[name.text]用了方括号,Python会把这当成是对append这个函数对象做下标取值操作,自然就报错了。
修复方式非常简单,把这一行的方括号改成圆括号即可:

products.append(name.text)

2 代码中其他隐藏的可修复问题

除了上述直接报错的问题,你的代码还有2个会导致后续运行出错/逻辑不符合预期的问题:

  • 亚马逊搜索URL的分页参数写死了:你写的链接里固定是page=2,就算循环page变量也只会一直爬第2页,需要把page=2改成page={page}才会正常走分页
  • 保存CSV的文件名没有加引号:df.to_csv(kns.csv)里的kns.csv是字符串字面量,需要用引号包裹,不然Python会把它当成未定义的变量抛出NameError,修改为df.to_csv("kns.csv")即可

修改后对应可正常运行的代码段

# 修正append调用
if name is not None:
    products.append(name.text)
else:
    products.append("-")

# 修正分页URL
r = requests.get(
    "https://www.amazon.com/s?k=redmi&page={page}&qid=1631528810&ref=sr_pg_={page}".format(
        page=page
    ),
    headers=headers,
    cookies =cookies
)

# 修正csv保存
df.to_csv("kns.csv")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:06:04