我正在使用Python的BeautifulSoup处理一个超文本标记语言格式的大型数据文件。
我得到了NavigableStrings,我需要在打印出来之前对它进行unicode编码。如果我从NavigableString中获取get_text()或.string,似乎会去掉其中的所有HTML标记。
另一方面,NavigableString本身似乎没有.encode("utf-8")类型的选项。
那么,如何才能在不剥离标记的情况下将NavigableString转换为普通字符串呢?
发布于 2018-06-22 22:12:12
要将HTML打印为文本,您只需将其转换为字符串,然后您可以将其编码为UTF-8,如下所示:
from bs4 import BeautifulSoup
html = '''<body>
<div>hello</div>
</body>
'''
soup = BeautifulSoup(html)
print str(soup).encode('utf8')
https://stackoverflow.com/questions/50989482
复制相似问题