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

如何在Beautiful Soup的find_all中使用变量?求解决方案

问题原因及解决方案

失效原因

你写的代码里,把"Class_='m-3'"当成字符串传给了find_all,但这个方法的第一个参数默认是标签名。也就是说,BeautifulSoup会尝试查找名为Class_='m-3'的HTML标签,这显然不存在,所以返回空列表。

正确的变量用法

方式1:直接传递属性值变量

如果只是要指定class属性,把属性值单独存成变量,然后用class_关键字参数传递(因为class是Python的保留关键字,所以BeautifulSoup用class_代替):

cls_value = 'm-3'
product_list = soup.find_all(class_=cls_value)

方式2:用字典动态传递属性

如果需要动态切换不同的属性(比如有时查class,有时查id),可以把属性键值对存在字典里,用解包传递:

# 可以根据需求修改字典里的内容
attrs = {'class': 'm-3'}
product_list = soup.find_all(**attrs)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:41:59