爬虫时经常遇到'/u'开头的unicode编码的字符串,这时通过decode()来解决.
但偶尔也会遇到以‘’ 或者‘’开头的字符串, 这是HTML、XML 等 SGML 类语言的转义序列(escape sequence)。它们不是「编码」。
如果以‘‘ 开头,后接十进制数字,
如果以‘’开头,后接十六进制数字。
在python中的解决方法是:
importhtml
a ='外观'
print(html.unescape(a))
# 输出:外观
希望对你有用
(二)
Python中escape和unescape
Python处理HTML转义字符
在抓网页数据经常遇到例如>或者 这种HTML转义符,抓到字符串里很是烦人。
比方说一个从网页中抓到的字符串
p ='<abc>'
用Python可以这样处理:
import html
p ='<abc>'txt= html.unescape(p)print(txt)
#这样就得到了txt= ''
如果还想转回去,可以这样:
import cgi
q = cgi.escape(html)print(q)
#这样又回到了 html = '<abc&gt'
cc = "\u8c46\u7c95"c = u"\u8c46\u7c95"
它们是两个不同的字符串,print出来后可以看到cc是\\u8c46\\u7c95,也就是说这是12个英文字符串,而不是两个汉字
如果想要得到"豆粕"的字符串,可以这样
ccc = "豆粕"
d = ccc.decode("gbk")
这时cc == d