So BeautifulSoup parses HTML entities into Unicode upon reading input。如果我在HTML元素上使用.prettify(formatter='html')
,我可以convert these back to HTML entities。
但NavigableString
课程没有.prettify()
方法。我想将NavigableString
转换为包含正确HTML实体的字符串。我怎么能这样做?
我能想到的唯一方法是使用假<a>
标记围绕它,在标记上使用.prettify()
,并从结果字符串中删除开头和结尾字符。
答案 0 :(得分:4)
不得不诉诸UTSL。相应的方法是NavigableString.output_ready()
。
>>> u=BeautifulSoup('α')
>>> u
<html><body><p>╬▒</p></body></html>
>>> u.p.contents[0]
u'\u03b1'
>>> u.p.contents[0].output_ready(formatter='html')
u'α'