赞
踩
如题我们得到某度的一段标签
<div class="c-tools" id="tools_3991411268111956563_1" data-tools="{"title":"佛山市汉迪森门窗系统有限公司_推拉门_平开门_平开窗","url":"http://www.baidu.com/link?url=3DY9JDzURlEJy1ETHTrsnaJZr3fnaRpkL9ngwZZnynPFxbAWubP8jqJIq85StwFz"}"><a class="c-tip-icon"><i class="c-icon c-icon-triangle-down-g"/></a></div>
- def convert(self,s):
- s = s.strip('&#x;') # 把'长'变成'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'&#x....;', 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
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。