通过将自定义元素转换为ASCII来实现HTML的Unescape?

2024-06-16 14:33:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从一个字符串中去掉一些HTML实体。在

但是对于像“’“”'这样的少数字符,我想用最近的ASCII替换。其他的都要脱掉。在

我如何在Python中做到这一点呢?我尝试了下面的代码片段,但是它没有按照我想要的方式“最近”地运行。在

import HTMLParser
import unicodedata
parser = HTMLParser.HTMLParser()
parsed = parser.unescape("‘")
nearest = unicodedata.normalize('NFKD', parsed).encode('ascii','ignore')

上面的代码中nearest为空。我能提供一个论据吗HTMLParser.unescape把它转换成ASCII引号?我想提供这样的自定义映射:{'amp;lsquo':'“','&;rsquo':'”},其中映射中的项应转换为ASCII。在

xml.sax.parse有一些API unescape(html_text, entities={' ': ' ', """: '"'}),HTMLParser有类似的东西吗。在


Tags: 字符串代码importparserhtmlasciiparsedamp