我正在使用Python的BeautifulSoup处理HTML格式的大数据文件。
我得到了NavigableStrings,在打印出来之前我需要对其进行unicode编码。如果我从NavigableString中获取get_text()或.string,似乎会从中剥离所有HTML标记。
另一方面,NavigableString本身似乎没有.encode(“ utf-8”)类型选项。
那么如何在不剥离标签的情况下将NavigableString转换为普通字符串呢?
答案 0 :(得分:1)
要将HTML打印为文本,只需将其转换为字符串,然后就可以使用UTF-8对其进行编码,如下所示:
from bs4 import BeautifulSoup
html = '''<body>
<div>hello</div>
</body>
'''
soup = BeautifulSoup(html)
print str(soup).encode('utf8')