我不喜欢这种方法,因为它非常“不自然”且“神奇”,涉及导入“私有”内部
_htmlparser。我希望有一个更简单的方法。
是的,您可以
bs4.builder改为从导入:
from bs4 import BeautifulSoupfrom bs4.builder import HTMLParserTreeBuilderclass MyBuilder(HTMLParserTreeBuilder): def __init__(self): super(MyBuilder, self).__init__() # BeautifulSoup, please don't treat "class" as a list self.cdata_list_attributes["*"].remove("class")soup = BeautifulSoup(data, "html.parser", builder=MyBuilder())如果您不想重复自己的话就足够重要了,可以将构建器放在其自己的模块中,然后向其注册,
register_treebuilders_from()以便优先使用。



