BeautifulSoup'没有属性'HTML_ENTITIES

joh*_*ith 4 python beautifulsoup

我最近在Windows机器上将BeautifulSoup从3.0版升级到4.1版.

我现在得到一个奇怪的错误:

File "C:\path\to\myscript.py", line 23
0, in soupify
    return BeautifulSoup(html, convertEntities=BeautifulSoup.HTML_ENTITIES)
AttributeError: type object 'BeautifulSoup' has no attribute 'HTML_ENTITIES'
Run Code Online (Sandbox Code Playgroud)

以下是导致抛出异常的代码片段:

def soupify(html):
    return BeautifulSoup(html, convertEntities=BeautifulSoup.HTML_ENTITIES)
Run Code Online (Sandbox Code Playgroud)

BS的文档没有提到构造函数签名从v3到v4的变化.我该如何解决这个问题?

The*_*uhn 5

传入的HTML或XML实体始终转换为相应的Unicode字符.美丽的汤3有许多重叠的处理实体的方式,已被删除. BeautifulSoup构造函数不再识别smartQuotesTo或convertEntities参数.(Unicode,Dammit仍然有smart_quotes_to,但它的默认值现在是将智能引号转换为Unicode.)

如果要在输出时将这些Unicode字符转换回HTML实体,而不是将它们转换为UTF-8字符,则需要使用输出格式化程序.

资料来源:http://www.crummy.com/software/BeautifulSoup/bs4/doc/#entities