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

如何用Beautiful Soup提取div标签的class属性值(Python 3.6.5)

提取Beautiful Soup选中元素的class属性值

嘿,这事儿超简单!你已经通过soup.select('div[class*=abcab]')拿到了包含目标div的列表x,接下来只需要遍历这个列表,逐个提取每个元素的class属性就好啦。

方法一:遍历提取(最直观)

你可以用循环逐个处理列表里的每个div元素:

# 遍历列表中的每个div元素
for div in x:
    # 获取class属性,返回列表(支持多class场景)
    class_list = div.get('class')
    # 如果需要把多class转成空格分隔的字符串
    class_text = ' '.join(class_list)
    print(class_text)

这里要注意:div.get('class')会返回一个列表,因为HTML元素可能有多个class值(比如<div class="foo bar">会得到['foo', 'bar'])。如果你的每个目标div都只有单个class,也可以直接取列表的第一个元素:div.get('class')[0]。

另外,用get方法比直接写div['class']更安全——如果某个元素碰巧没有class属性,get会返回None,不会直接抛出报错。

方法二:列表推导式(简洁写法)

如果想一次性生成所有class值的列表,可以用列表推导式:

# 生成包含所有class字符串的列表(处理多class)
all_classes = [' '.join(div.get('class', [])) for div in x]

# 如果确定每个元素只有一个class,也可以这么写
all_single_classes = [div.get('class', [])[0] for div in x if div.get('class')]

这样你就能轻松拿到所有目标div的class属性值啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:03:46