我最近将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的。我该如何解决?
传入的HTML或XML实体始终会转换为相应的Unicode字符。Beautiful Soup 3有许多重叠的实体处理方式,已被删除。 BeautifulSoup构造函数不再识别smartQuotesTo或convertEntities参数。 (Unicode,Dammit仍然具有smart_quotes_to,但现在的默认设置是将智能引号转换为Unicode。) 如果要在输出时将这些Unicode字符转换回HTML实体,而不是将其转换为UTF-8字符,则需要使用输出格式化程序。
传入的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