为了账号安全,请及时绑定邮箱和手机立即绑定

将XML/HTML实体转换为Python中的Unicode字符串

将XML/HTML实体转换为Python中的Unicode字符串

慕侠2389804 2019-07-02 10:49:56
将XML/HTML实体转换为Python中的Unicode字符串我正在做一些Web抓取,网站经常使用HTML实体来表示非ascii字符。Python是否有一个带有HTML实体的字符串并返回Unicode类型的实用程序?例如:我回来了:ǎ表示带有音调标记的“ǎ”。在二进制文件中,这被表示为16位01ce。我希望将html实体转换为值。u'\u01ce'
查看完整描述

4 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

标准库本身的HTMLParser有一个无文档的函数unaway(),它执行您认为它所做的事情:

import HTMLParserh = HTMLParser.HTMLParser()h.unescape('© 2010') # u'\xa9 2010'h.unescape('© 2010') # u'\xa9 2010'


查看完整回答
反对 回复 2019-07-02
?
哔哔one

TA贡献1854条经验 获得超8个赞

使用内置unichr-美容汤是不必要的:

>>> entity = '&#x01ce'>>> unichr(int(entity[3:],16))u'\u01ce'


查看完整回答
反对 回复 2019-07-02
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

如果您有lxml,另一种选择是:

>>> import lxml.html>>> lxml.html.fromstring('&#x01ce').text
u'\u01ce'


查看完整回答
反对 回复 2019-07-02
  • 4 回答
  • 0 关注
  • 1167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信