python中unicode编码问题解决方法

我们使用python爬取网站时,遇到unicode编码,我们需要将它转换为中文。

""" unicode编码问题解决方法 """
import requests
from json import loads, dumps

x = b'\\u4f60\\u597d'
x0 = x.decode("unicode_escape")  # 使用unicode_escape 解码
print(x0, type(x0))
y = r'\u4f60\u597d'
y0 = y.encode().decode("unicode_escape")  # encode()方法转为bytes类型,decode()解码为字符串
print(y0, type(y0))
z = '\u4f60\u597d'
z0 = loads(f'"{z}"')  # 使用json.loads 解码为json 格式
z1 = dumps(z, ensure_ascii=False)
print(z0, type(z0))
print(z1, type(z1))

resp = requests.get(url='http://cx.shouji.360.cn/phonearea.php', params=dict(number=13189736032))
# 方法一
print(resp.content.decode("unicode_escape"))
# 方法二
resp.encoding = 'unicode_escape'
print(resp.text)
# 方法三,使用eval(遇到Unicode是通过requests在网上爬取的时候)
# resp0 = eval("u"+"\'"+resp.text+"\'")
# print(resp0)

参考文章 http://www.51zixue.net/python/41250.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值