开发者社区 问答 正文

python的requests的乱码怎么解决

python的requests的乱码怎么解决

展开
收起
保持可爱mmm 2019-12-11 15:00:18 363 分享 版权
1 条回答
写回答
取消 提交回答
  • python3的requests解析中文页面出现乱码的解决方法

    第一部分 关于requests库

    (1)requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到。

    (2)其中的Request对象在访问服务器后会返回一个Response对象,这个对象将返回的Http响应字节码保存到content属性中。

    (3)但是如果你访问另一个属性text时,会返回一个unicode对象,乱码问题就会常常发成在这里。

    (4)因为Response对象会通过另一个属性encoding来将字节码编码成unicode,而这个encoding属性居然是responses自己猜出来的。

    第二部分 解决方法

    所以要么你直接使用content(字节码),要么记得把encoding设置正确,比如我获取了一段gbk编码的网页,就需要以下方法才能得到正确的unicode。

    import requests

    url = "http://xxx.xxx.xxx"

    response = requests.get(url)

    response.encoding = 'gbk'

    print(response.text)

    问题来源于python学习网

    2019-12-11 15:00:32
    赞同 展开评论
问答分类:
问答地址: