V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
ALLROBOT
V2EX  ›  Python

Python 请求的 requests.get 数据包内容突然变乱码

  •  
  •   ALLROBOT · 2021-05-02 18:16:24 +08:00 · 1915 次点击
    这是一个创建于 1307 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一小时前提交数据包返回的数据正常显示,现在不知怎么的突然变成乱码了

    �_m���[41�[�բv� RC� Ѥs�w�Rv�Z`y �W�S�!�LG�MҪ��-K�%�0"�0g�(

    经过 Fidder 检查(捕捉数据包的工具),浏览器请求数据包显示正常,只有 python 输出变成乱码

    python 的返回数据包编码格式,xxx.encoding 为 utf-8,xxx.apparent_encoding 为 None

    用网上的 new_re=re.text.encode(re.encoding).decode(re.apparent_encoding)试图解决乱码
    然而输出错误
    TypeError: decode() argument 1 must be str, not None

    以下为原代码

    url='https://bbs.imoutolove.me/thread_new.php?fid-174-page-1.html'
    re=requests.get(url)
    bs_re=BeautifulSoup(re.text,'lxml')
    print(re.text)
    bs_re_title=bs_re.find_all('span',class_='section-title')

    for tag in bs_re_title:
    print(tag.text)

    挺简单的,几小时前返回正常中文的,现在突然返回一堆堆乱码,不清楚是什么原因导致的,请问如何解决?
    6 条回复    2021-05-05 21:23:35 +08:00
    ysc3839
        1
    ysc3839  
       2021-05-02 18:53:11 +08:00 via Android   ❤️ 2
    怀疑是 gzip 压缩了
    johnsona
        2
    johnsona  
       2021-05-02 18:58:06 +08:00
    re.encoding='utf-8'
    ALLROBOT
        3
    ALLROBOT  
    OP
       2021-05-02 19:22:39 +08:00
    @johnsona 试过,依旧输出乱码
    @ysc3839 感谢!!!把头部的 Accept-Encoding:gzip,br,deflate 的两个 gzip,br 去掉后,只保留 deflate 成功正常输出!
    1462326016
        4
    1462326016  
       2021-05-02 20:00:32 +08:00
    request 默认不支持 br 压缩编码,所以请求头中不可以写 br 编码,可能是服务器由于一些原因更改了压缩方式,所以返回了 request 无法解码的数据,导致了乱码。
    Liang
        5
    Liang  
       2021-05-02 20:03:33 +08:00 via iPhone
    看这个乱码一般是 gzip
    ALLROBOT
        6
    ALLROBOT  
    OP
       2021-05-05 21:23:35 +08:00
    @1462326016 原来是这样,br 下次不加入头部信息了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1380 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:28 · PVG 01:28 · LAX 09:28 · JFK 12:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.