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

使用BeautifulSoup创建div标签时添加class属性的正确方法

解决BeautifulSoup创建标签时添加class属性的语法错误问题

哈哈,这个问题我刚学BeautifulSoup的时候也踩过坑!原因很简单——class是Python的保留关键字,你直接把它作为参数名传给new_tag(),Python解释器肯定会报错。这里有两种常用的正确解决方式:

方法一:使用class_替代class作为参数名

BeautifulSoup专门为这个场景提供了class_参数(末尾加下划线),它会自动映射为HTML的class属性:

# 创建带class的div标签
new_div = soup.new_tag("div", class_="description", style="float:left")
# 插入到文档中
soup.body.append(new_div)

方法二:通过attrs字典传递属性

如果觉得下划线不够直观,或者需要一次性传递多个特殊属性,你可以用attrs参数传入一个字典,把所有属性名和值都放在字典里:

# 用attrs字典定义所有属性
new_div = soup.new_tag("div", attrs={"class": "description", "style": "float:left"})
soup.body.append(new_div)

额外技巧:添加多个class属性

如果需要给标签设置多个class,还可以传入列表形式的class值,BeautifulSoup会自动帮你拼接成空格分隔的字符串:

# 方法一的多class写法
new_div = soup.new_tag("div", class_=["description", "content-box"], style="float:left")

# 方法二的多class写法
new_div = soup.new_tag("div", attrs={"class": ["description", "content-box"], "style": "float:left"})

生成的标签会是:<div class="description content-box" style="float:left"></div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:35:59