小编典典

BeautifulSoup'没有属性'HTML_ENTITIES

python

我最近将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'

这是导致引发异常的代码段:

def soupify(html):
    return BeautifulSoup(html, convertEntities=BeautifulSoup.HTML_ENTITIES)

BS的文档没有提到构造函数签名是如何从v3更改为v4的。我该如何解决?


阅读 304

收藏
2021-01-20

共1个答案

小编典典

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

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

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

2021-01-20