可狱可囚的爬虫系列课程 04:Requests常见乱码问题

有一部分网站,使用 Requests 请求完以后拿到的网页源代码会发生乱码问题,这类问题其实本质是使用了错误的编码方式进行了解析,只不过 Requests 模块有一个使用错误编码的过程,如图是 Requests 官网对编码部分的解释:
image.png
那么针对这类产生问题的网站,我们提出以下解决方式,在此我以中国新闻网为例,为大家剖析:

import requests

URL = 'https://www.chinanews.com/'
response = requests.get(url=URL)
print(response.text)

image.png
我们发现按照上文讲述的 Requests 模块的使用来请求中国新闻网,程序的结果中出现了很多我们不认识的符号,这其实就是乱码,怎么解决呢,请看下图:
乱码.jpeg
很明显,我们这里遇到的问题是符号码,产生原因就是以 ISO8859-1 方式读取了 UTF-8 编码的中文,我们将其解析回来即可。正确源代码如下:

import requests

URL = 'https://www.chinanews.com/'
response = requests.get(url=URL)
response.encoding = 'utf-8'
print(response.text)

只需要从服务器的响应数据中使用正确的编码方式解析即可,在使用字符串类型的网页源代码之前添加:response.encoding = 'utf-8',经过对原始数据的修改,乱码问题就能够解决掉。
image.png

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HerrFu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值