如题我们得到某度的一段标签
def convert(self,s):
s = s.strip('') # 把'长'变成'957f'
s = bytes(r'\u' + s, 'ascii') # 把'957f'转换成b'\\u957f'
return s.decode('unicode_escape')
" 不再描述 直接replace 或者sub进行剔除转换即可
#首先提取目标内容
res = re.findall('data-tools="{title:(.*),url:', content)
title = re.sub(r'....;', lambda match: self.convert(match.group()), res[0])
try:
title = json.loads('"%s"' % title ) # \\u4e0a\\u6d77\\u4e30\\u9091 广告栏标签会出现 u开头编码字符
except:
pass
#打印结果
#>>> 佛山市....公司
str = '\u4eac\u4e1c\u653e\u517b\u7684\u722c\u866b'
#方法1 使用unicode_escape 解码
print str.decode('unicode_escape')
print unicode(str, 'unicode_escape')
#方法2:若为json 格式,使用json.loads 解码
print json.loads('"%s"' %str)
#方法3:使用eval
print eval('u"%s"' % str)
#方法4:使用python3