python - 如何获取保留标签的 BeautifulSoup NavigableString 的字符串形式
问题描述
我正在使用 Python 的 BeautifulSoup 处理 HTML 格式的大型数据文件。
而且我得到了 NavigableStrings,我需要在打印之前对其进行 unicode 编码。如果我从 NavigableString 中获取 get_text() 或 .string,它似乎会从中删除所有 HTML 标记。
另一方面, NavigableString 本身似乎没有 .encode("utf-8") 类型选项。
那么如何在不剥离标签的情况下将我的 NavigableString 变成普通字符串呢?
解决方案
要将 HTML 打印为文本,您只需将其转换为字符串,然后您可以将其编码为 UTF-8,如下所示:
from bs4 import BeautifulSoup
html = '''<body>
<div>hello</div>
</body>
'''
soup = BeautifulSoup(html)
print str(soup).encode('utf8')
推荐阅读
- javascript - 如何在 tensorflow.js 中广播矩阵/向量点积
- php - 在下拉菜单 PHP HTML 中保留选定的值
- design-patterns - 解释器模式可以像解析配置文件一样简单吗?
- apache - 如何使 apache 中的重写模块工作?
- javascript - 如何查看初始值 .Select/Option
- jenkins - Jenkins BlueOcean 缺少插件参数作为“通过 SSH 发送构建工件”
- javascript - Bot Framework + NodeJS:结束对话/对话和承诺链
- android - 查看设备上安装的其他应用程序或 apk 需要哪些 Xamarin.forms 权限?
- java - 如何实现像 Spring DispatcherServlet 这样的行为?
- python - 无法使用 flask-restful 设置蓝图