IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python使用requests获取内容编码后仍然乱码:c |x00 |xa0a |x00@6s |xd6 |x1b |x1f |x7f |xd5 |x07 |x14 |x17 |x17C |x07 |x88 |xaa -> 正文阅读

[Python知识库]python使用requests获取内容编码后仍然乱码:c |x00 |xa0a |x00@6s |xd6 |x1b |x1f |x7f |xd5 |x07 |x14 |x17 |x17C |x07 |x88 |xaa

使用requests+代理获取某个网站内容时,一直乱码,源代码是这样的:

headers:

 "headers": {
     "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
     "accept-encoding": "gzip, deflate, br",
     "accept-language": "zh-CN,zh;q=0.9",
     "cache-control": "max-age=0",
     "sec-ch-ua": "\" Not;A Brand\";v=\"99\", \"Google Chrome\";v=\"97\", \"Chromium\";v=\"97\"",
     "sec-ch-ua-mobile": "?0",
     "sec-ch-ua-platform": "\"Windows\"",
     "sec-fetch-dest": "document",
     "sec-fetch-mode": "navigate",
     "sec-fetch-site": "same-origin",
     "sec-fetch-user": "?1",
     "upgrade-insecure-requests": "1",
     "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"
 }

调用的时候是这样的:

proxies = {
    "HTTP": "http://{}:{}@{}:{}".format(pconfig['proxyUser'], pconfig['proxyPass'], pconfig['proxyHost'], pconfig['proxyPort']),
    "HTTPS": "https://{}:{}@{}:{}".format(pconfig['proxyUser'], pconfig['proxyPass'], pconfig['proxyHost'], pconfig['proxyPort'])
}
result = requests.get(url=url, headers=headers, timeout=timeout, proxies=proxies, verify=False)
if result is not None and result.status_code == 200:
    errMsg = ""
    urlhtml = result.text
    realurl = result.url  # 重定向地址
    break
else:

但是获取到的结果是这样的:

result.content= "b'c\x00\xa0a\x00@6s\xd6\x1b\x1f\x7f\xd5\x07\x14\x17\x17C\x07\x88\xaa\xa3&\xea\x18r\xb6\xb2|\xff\x97\tr\xc0G\xd4\xbdT=\xd0\x13\xd9\xdd\xf9WRz\xa1V\xe6\xcf\xfeMoX\x9b]\x82y\xb1}\x9e\x8a!h\x85\x0e8D\x01\x8fH\x1e\xcbu\x91?\x97\x84\x08\xe2%n?D9z\xf4\xf6\xe1\xa7\xef\xef\x1e\xc3\xb3O\xaf_\xd5P....."
result.text="c �a @6s��C���&�r��|��?? ?r�G?T=����WRz�V���MoX�]�y�}��!h�8D�H�u�?���%n?D9z�����óO�_�P����+�������?�����?? ?�h����0�dV!�>�aH�����q8x�������36ZD��cC"M��aSC�H�7@k"��=��b�~N(�s/�Fj�!G3�$а�w���O���n��GQщ?......"

看了一下result.apparent_encoding,然而:result.apparent_encoding=None? ?(吐血!)

当时搜了各种解决方案(以下给大家参考,也许可用):

你的apparent_encoding 还准确么? - 灰信网(软件开发博客聚合)

Python requests响应内容乱码解决方案 | 漏洞人生

解决Requests中文乱码_chaowanghn的博客-CSDN博客_requests 乱码

https://segmentfault.com/a/1190000012984536

但是上述办法对我毫无效果,直到第二天看到这篇文章:

requests 中文编码错误_chaoge_dgqb的博客-CSDN博客_requests编码错误

终于发现我的headers设置了一个多余的:

"accept-encoding": "gzip, deflate, br",

把它删掉之后,就立马好了。

所以有时候少即是多....(说点假道理,其实多用不同方式搜索问题,才是正确解法)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:27:16  更:2022-03-10 22:28:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:32:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码