【hacker的错误集】解决response.text获取中文乱码问题

简介: 在获取网页源代码时如果不指定页面所对应的编码格式就会出现中文是乱码的情况,这时需要找到页面所所对应的编码格式

79b67f4e7ae14fa0ae5c599e74fcd6bf.jpg


错误内容



直接使用以下代码获取内容


import requests
# url = '你的url地址'
url = 'http://www.piaofang.biz/'
response = requests.get(url)
print(response.text)


会出现中文是乱码的情况:


63b059de930f493ea90d871561e9f139.png


错误分析



在获取网页源代码时如果不指定页面所对应的编码格式就会出现中文是乱码的情况,这时需要找到页面所所对应的编码格式


居然:怎么找页面所对应的编码格式啊

hacker:我来教你一种最简单的方法


在你对应的页面鼠标右键点击查看源代码,在源代码中按Ctrl+F查找快捷键搜索charset即可看到页面所对应的编码格式(是gbk就设置为gbk,是utf-8就设置为utf-8


117a0e6f80a146179f6103dbd64ef67e.png


解决方案



改正后的代码如下:


import requests
# url = '你的url地址'
url = 'http://www.piaofang.biz/'
response = requests.get(url)
response.encoding = 'gbk'
print(response.text)

89ff6781ee8b4700811dfa89e7bc8326.png


扩展知识(非常好用)



我们需要人为的去判断页面的编码格式,其实,我们有一个更智能的方法可以解决该问题,就是直接通过代码去获取当前页面的编码即可,代码如下:


import requests
# url = '你的url地址'
url = 'http://www.piaofang.biz/'
response = requests.get(url)
# apparent_encoding是从网页的响应内容分析编码的方式(更加intelligence智能)
response.encoding = response.apparent_encoding
print(response.text)

image.png


结束语🏆🏆🏆


🔥推荐一款模拟面试、刷题神器网站

点击链接注册即可

1、算法篇(398题):面试必刷100题、算法入门、面试高频榜单

2、SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题

3、大厂笔试真题:字节跳动、美团、百度、腾讯…


相关文章
|
15天前
|
开发框架 安全 .NET
C#面:Server.UrlEncode、HttpUtility.UrlDecode的区别
通过上述详细的解释和实例分析,相信大家对 `Server.UrlEncode` 和 `HttpUtility.UrlDecode` 的区别有了更深刻的理解,并能在实际开发中灵活运用。
26 0
|
4月前
|
JSON 数据格式
Navicate数据报错之Bad Request,发送端口测试的时候,使用JSON字符串,而不是Text
Navicate数据报错之Bad Request,发送端口测试的时候,使用JSON字符串,而不是Text
|
JSON Java 数据格式
Postman发送json数据出现HttpMessageNotReadableException: Required request body is missing的几种解决方法以及页面显示400解决
Postman发送json数据出现HttpMessageNotReadableException: Required request body is missing的几种解决方法以及页面显示400解决
533 0
PHPExcel在高版本PHP7中,Writer->save出现ERR_INVALID_RESPONSE错误的解决方法
PHPExcel在高版本PHP7中,Writer->save出现ERR_INVALID_RESPONSE错误的解决方法
257 0
JavaWeb - Request 中 Header 数据中文乱码解决方案(仅一句话)
JavaWeb - Request 中 Header 数据中文乱码解决方案(仅一句话)
1177 0
|
编解码 程序员
为JAXB和response设置编码,解决wechat4j中文乱码(1)
为JAXB和response设置编码,解决wechat4j中文乱码
161 0
为JAXB和response设置编码,解决wechat4j中文乱码(1)
|
应用服务中间件 程序员
为JAXB和response设置编码,解决wechat4j中文乱码(2)
为JAXB和response设置编码,解决wechat4j中文乱码
201 0
教你如何解决Sublime Text 3使用中出现的中文乱码问题
Sublime Text 3 是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦。 不过Sublime Package Control所提供的插件可以让Sublime Text 3几乎完美地支持CJK编码的文本。
2220 0