如何获取保留标签的BeautifulSoup NavigableString字符串形式

时间:2018-06-22 13:49:41

标签: python beautifulsoup

我正在使用Python的BeautifulSoup处理HTML格式的大数据文件。

我得到了NavigableStrings,在打印出来之前我需要对其进行unicode编码。如果我从NavigableString中获取get_text()或.string,似乎会从中剥离所有HTML标记。

另一方面,NavigableString本身似乎没有.encode(“ utf-8”)类型选项。

那么如何在不剥离标签的情况下将NavigableString转换为普通字符串呢?

1 个答案:

答案 0 :(得分:1)

要将HTML打印为文本,只需将其转换为字符串,然后就可以使用UTF-8对其进行编码,如下所示:

from bs4 import BeautifulSoup

html = '''<body>
    <div>hello</div>
    </body>
'''

soup = BeautifulSoup(html)
print str(soup).encode('utf8')