python2. requests爬取网上数据中文乱码的情况处理方法

先说下发现的问题,今天在做一个爬取功能的时候,中文一直是乱码,原来以为是返回的数据压缩导致的,后边查了下文档,requests里如果headers设置了'Accept-Encoding': 'gzip, deflate',且目标网页也支持压缩的话,requests会把爬到的网页自动解压缩,所以应该不是压缩的问题,后来把爬到的数据看了下编码

   html = requests.get(url,headers=headers)

    print html.encoding,输出:ISO-8859-1

   你妹的,原来返回的编码是ISO-8859-1的,后边查了下文档才知道,requests在返回的数据header里没有发现charset 的话,就会用默认的字符集ISO-8859-1编码,尼玛啊,爬的网页编码是utf-8的,你用ISO-8859-1编码中文坑顶乱码了,

  解决办法:

      也很简单,就是把返回的数据设置下编码就可以了,

     html = requests.get(url,headers=headers)

     html.encoding = 'utf-8' #设置成utf-8就可以了


参考网址:https://blog.csdn.net/sentimental_dog/article/details/52661974?locationNum=3&fps=1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值