当前位置: 首页 > 面试题库 >

如何在Python 3.1中对字符串中的HTML实体进行转义?

皇甫飞跃
2023-03-14
问题内容

我到处都是,只找到了适用于python 2.6和更早版本的解决方案,没什么关于如何在python 3.X中做到这一点的。(我只能访问Win7框。)

我必须能够在3.1中做到这一点,并且最好不要使用外部库。目前,我已经安装了httplib2并可以访问命令提示符curl(这就是我获取页面源代码的方式)。不幸的是,据我所知,curl无法解码html实体,我在文档中找不到用于对其进行解码的命令。

是的,我尝试过《美丽汤》,但在3.X中很多次都没有成功。如果您能提供有关如何使其在MS Windows环境中的python
3中运行的EXPLICIT说明,我将不胜感激。

因此,很明显,我需要将这样Suzy & John的字符串转换为这样的字符串:“ Suzy&John”。


问题答案:

您可以使用html.unescape函数:

Python3.4 +中 (感谢JF Sebastian的更新):

import html
html.unescape('Suzy & John')
# 'Suzy & John'

html.unescape('"')
# '"'

Python3.3 或更旧版本中:

import html.parser    
html.parser.HTMLParser().unescape('Suzy & John')

Python2中

import HTMLParser
HTMLParser.HTMLParser().unescape('Suzy & John')


 类似资料:
  • 问题内容: 基本上,我想解码给定的HTML文档,并替换所有特殊字符,例如。 在.NET中,我们可以使用。 Java中的等效功能是什么? 问题答案: 我已为此使用: 将包含实体转义符的字符串取消转义为包含与转义符相对应的实际Unicode字符的字符串。支持HTML 4.0实体。

  • 问题内容: 我有一个Unicode转义的字符串: 我想将此字符串转换为unicode非转义版本 我该怎么做呢? 问题答案: 对其进行编码(使用任何编解码器,utf-8可能都可以),然后使用对其进行解码:

  • 问题内容: 给定$ scope模型中包含HTML实体的字符串,如何确保该实体正确显示为HTML字符而不是文字字符串? HTML实体-MDN词汇表 http://plnkr.co/edit/0BliljcDkj0vvj3jdEqz?p=预览 问题答案: 使用$ sce 。您需要明确地告诉angular内容是html。 http://plnkr.co/edit/9iNnRC7AxFptnQZLPtYR

  • 问题内容: 我正在做一些抓取,并且站点经常使用实体来表示非字符。Python是否有一个实用程序可以接受带有实体的字符串并返回类型? 例如: 我回来了: 代表带有音调标记的。以二进制形式表示为16位01ce。我想将html实体转换为值 问题答案: 标准库自己的具有未记录的函数,它完全按照你的想法执行操作:

  • 问题内容: 特别是,我想确保避免Microsoft的BrowserChoice随机代码中的错误。也就是说,我要确保每个字母在每个可能位置出现的可能性均等。 例如,给定“ ABCDEFG”,则返回类似“ GEFBDCA”的内容。 问题答案: String.prototype.shuffle = function () { var a = this.split(“”), n = a.length;

  • 问题内容: 我正在使用Beautiful Soup 3解析一些HTML,但是它包含HTML实体,Beautiful Soup 3不会自动为我解码: 如何解码HTML实体以获得而不是。 问题答案: Python 3.4以上用途 FYI 已过时,并且应该在3.5中删除,尽管它是错误地遗忘的。它将很快从语言中删除。 Python 2.6-3.3 您可以HTMLParser.unescape()从标准库中