python中,把‘&#’ ‘&#x开头的字符串转换成中文

(一)

爬虫时经常遇到'/u'开头的unicode编码的字符串,这时通过decode()来解决.

但偶尔也会遇到以‘&#’ 或者‘&#x’开头的字符串, 这是HTML、XML 等 SGML 类语言的转义序列(escape sequence)。它们不是「编码」。


如果以‘&#‘ 开头,后接十进制数字,

如果以‘&#x’开头,后接十六进制数字。

在python中的解决方法是:

importhtml

a ='外观'

print(html.unescape(a))

# 输出:外观

希望对你有用



(二)

Python中escape和unescape

Python处理HTML转义字符

在抓网页数据经常遇到例如>或者 这种HTML转义符,抓到字符串里很是烦人。

比方说一个从网页中抓到的字符串

p ='<abc>'

用Python可以这样处理:

import html

p ='&lt;abc&gt;'txt= html.unescape(p)print(txt)


#这样就得到了txt= ''

如果还想转回去,可以这样:

import cgi

q = cgi.escape(html)print(q)


       #这样又回到了 html = '&lt;abc&gt'

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容