【发布时间】:2011-01-29 07:39:20
【问题描述】:
我使用 BeautifulSoup 处理通过 REST API 收集的 XML 文件。
响应包含 HTML 代码,但 BeautifulSoup 会转义所有 HTML 标记,因此可以很好地显示。
很遗憾,我需要 HTML 代码。
我将如何继续将转义的 HTML 转换为正确的标记?
非常感谢您的帮助!
【问题讨论】:
标签: python html escaping beautifulsoup lxml
我使用 BeautifulSoup 处理通过 REST API 收集的 XML 文件。
响应包含 HTML 代码,但 BeautifulSoup 会转义所有 HTML 标记,因此可以很好地显示。
很遗憾,我需要 HTML 代码。
我将如何继续将转义的 HTML 转换为正确的标记?
非常感谢您的帮助!
【问题讨论】:
标签: python html escaping beautifulsoup lxml
我想你想要来自 Python 标准库的xml.sax.saxutils.unescape。
例如:
>>> from xml.sax import saxutils as su
>>> s = '<foo>bar</foo>'
>>> su.unescape(s)
'<foo>bar</foo>'
【讨论】:
su.unescape('&quot;') 不起作用。
unescape 的第二个参数来转义其他字符。例如:su.unescape(s, {'&quot;':'"'})
你可以试试urllib 模块吗?
它有一个方法unquote() 可能适合您的需要。
编辑:重新考虑,(以及更多阅读您的问题)您可能只想使用string.replace()
像这样:
string.replace('<','<')
string.replace('>','>')
【讨论】: