python爬虫编码转换_Python 爬虫遇到形如 小说 的编码如何转换为中文? - SegmentFault 思否...

# tested under python3.4

def convert(s):

s = s.strip('') # 把'长'变成'957f'

s = bytes(r'\u' + s, 'ascii') # 把'957f'转换成b'\\u957f'

return s.decode('unicode_escape') # 调用bytes对象的decode,encoding用unicode_escape,把b'\\u957f'从unicode转义编码解码成unicode的'长'。具体参见codecs的文档

print(convert('长')) # => '长'

全篇替换

import re

print(re.sub(r'....;',

lambda match: convert(match.group()),

ss))

全文替换后的结果:

学科主题: 长篇小说-中国-当代
中图法分类号:
I247.5
提要文摘附注:
小说中的主人公,正是因为当年盗墓的爷爷人赘杭州而身在杭州,开了一家小的古董铺子,守护着那群长沙土夫子从古墓不知名怪物捭中拼命抢出的战国帛书……

# for python2.7

def convert(s):

return ''.join([r'\u', s.strip('')]).decode('unicode_escape')

ss = unicode(ss, 'gbk') # convert gbk-encoded byte-string ss to unicode string

import re

print re.sub(r'....;', lambda match: convert(match.group()), ss)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值