如何用Python和Beautiful Soup获取HTML元素的class属性值
BeautifulSoup 获取按钮class属性的简便方法
针对你获取button元素class属性的需求,这里有几种实用的方法:
直接访问属性(你当前的方法):
b["class"]会返回一个类名组成的列表,比如['D_pV', 'M_ln', ...],如果需要得到空格分隔的完整字符串,只需拼接:class_str = ' '.join(b["class"])使用
get()方法(更安全):
这种方法在元素没有class属性时不会抛出KeyError,会返回默认值(这里设为空列表):class_str = ' '.join(b.get('class', []))访问
attrs字典:
和get()方法类似,通过Tag对象的attrs字典直接获取:class_str = ' '.join(b.attrs.get('class', []))
需要注意的是,HTML的class属于多值属性,BeautifulSoup会自动将其解析为列表,所以无论哪种方法,要得到完整的空格分隔字符串都需要用' '.join()拼接。如果只需要列表形式的类名,直接用b["class"]或b.get('class')就是最简便的写法。
内容的提问来源于stack exchange,提问作者Tommy Campos
相关产品推荐
相关产品推荐

