从转义HTML到常规HTML?- Python

8 投票
2 回答
5491 浏览
提问于 2025-04-15 20:36

我用BeautifulSoup这个工具来处理我通过REST API收集的XML文件。

这些响应里包含了HTML代码,但BeautifulSoup会把所有的HTML标签转义,这样就能很好地显示出来。

可惜的是,我需要的是原始的HTML代码。


我该怎么把被转义的HTML转换成正常的标记呢?


非常感谢大家的帮助!

2 个回答

2

你可以试试这个叫做 urllib 的模块。

它里面有一个方法叫 unquote(),可能正好符合你的需求。

补充一下,仔细想想(还有多读了你的问题),你可能只需要用 string.replace() 就可以了。

像这样:

string.replace('&lt;','<')
string.replace('&gt;','>')
20

我觉得你想要的是Python标准库里的 xml.sax.saxutils.unescape

比如说:

>>> from xml.sax import saxutils as su
>>> s = '&lt;foo&gt;bar&lt;/foo&gt;'
>>> su.unescape(s)
'<foo>bar</foo>'

撰写回答