python requests中content与text方法的区别

目录

  • python requests中content与text方法的区别

    • 目录

      • requests的作用
      • response的常用方法:
      • response.text 和response.content的区别
      • 参考链接:Requests: 让 HTTP 服务人类

requests的作用

作用:发送网络请求,返回响应数据,requests对象的get和post方法都会返回一个Response对象,这个对象里面存的是服务器返回的所有信息,包括响应头,响应状态码等。其中返回的网页部分会存在.content和.text两个对象中。

response = requests.get(url)

response的常用方法:

response.text
response.content
response.status_code
response.request,headers
response.headers

response.text 和response.content的区别

response.text
类型:str
解码类型:根据HTTP头部对响应的编码做出有根据的推测,推测的文本编码
如何修改编码方式:response.encoding=”gbk”

response.content
类型:bytes
解码类型:没有指定
如何修改编码方式:response.content.decode(“utf8”)


两者区别在于,content中间存的是字节码,而text中存的是Beautifulsoup根据猜测的编码方式将content内容编码成字符串。


直接输出content,会发现前面存在b’这样的标志,这是字节字符串的标志,而text是,没有前面的b,对于纯ascii码,这两个可以说一模一样,对于其他的文字,需要正确编码才能正常显示。大部分情况建议使用.text,因为显示的是汉字,但有时会显示乱码,这时需要用.content.decode(‘utf-8’),中文常用utf-8和GBK,GB2312等。这样可以手工选择文字编码方式。

所以简而言之,.text是现成的字符串,.content是字节码还要编码,但是.text不是所有时候显示都正常,这是就需要用.content进行手动编码。

例子:

#!usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@author:binbinzhang
@file: 1.py
@time: 2018/04/27
@email:binbin_Erices@163.com
@function:
"""
import requests
response = requests.get('https://www.google.com')
re_text = response.text
re_content = response.content
print (re_text)
print (type(re_text))
print (re_content)
print (type(re_content))
response.encoding = 'utf-8'
re_text = response.text
print (re_text)

参考链接:Requests: 让 HTTP 服务人类

python requests中content与text方法的区别相关推荐

  1. python中的content方法_对python requests的content和text方法的区别详解

    问题: 一直在想requests的content和text属性的区别,从print 结果来看是没有任何区别的 看下源码: @property def text(self): ""& ...

  2. python requests text content_python requests的content和text方法的区别

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  3. python frozenset_Python中set与frozenset方法和区别详解

    set(可变集合)与frozenset(不可变集合)的区别: set无序排序且不重复,是可变的,有add(),remove()等方法.既然是可变的,所以它不存在哈希值.基本功能包括关系测试和消除重复元 ...

  4. python程序调用写好的代码_扣丁学堂浅谈Python编程中NotImplementedError的使用方法...

    扣丁学堂浅谈Python编程中NotImplementedError的使用方法 2018-07-04 14:08:02 2559浏览 本篇文章扣丁学堂 Python编程中raise可以实现报出错误的功 ...

  5. java foward_java 中sendredirect()和forward()方法的区别

    HttpServletResponse.sendRedirect与RequestDispatcher.forward方法都可以实现获取相应URL资源. sendRedirect实现请求重定向,forw ...

  6. java sendredirect报错_java 中sendredirect()和forward()方法的区别

    HttpServletResponse.sendRedirect与RequestDispatcher.forward方法都可以实现获取相应URL资源. sendRedirect实现请求重定向,forw ...

  7. HTTP协议中GET和POST方法的区别

    本文详细对比了HTTP协议中GET和POST方法的区别,部分内容可能有误,读者请自行甄别. 转自博客https://sunshinevvv.coding.me/blog/2017/02/09/Http ...

  8. PHP中静态方法和实例化方法的区别

    文章来自:PHP中静态方法和实例化方法的区别 在PHP中类为什么要使用静态方法,有什么好处 不需要实例化?? 可以提高运行效率?? 这是一个经常被时时提出来的问题,很多时候我们以为理解了.懂了,但深究 ...

  9. php的mktime,php中time()和mktime()方法的区别

    time()函数是返回当前时间的.而mktime()函数的主要功能不是返回当前时间,而是格式化时间.虽然单独写mktime()而不加任何参数如:echo mktime()和echo time()的效果 ...

最新文章

  1. c程序设计语言第五单元,(C语言程序设计基础课件)第五单元循环结构程序设计.pptx...
  2. golang 判断目录是否为空
  3. 计算机网络系统中hn是,中南大学计算机网络作业1.pdf
  4. 总结这阵子的FPGA工作
  5. ab plc软件_回收拆机拆厂二手机械设备回收PLC自动化物资回收【研发吧】
  6. matlab 工业相机 曝光时间_机器视觉入门——光源相机镜头
  7. 神器!微软发布 Python 的 JIT 编译器:Pyjion!
  8. javascript学习系列(18):数组中的include方法
  9. matlab漂亮图表,漂亮,美观的图表之Matlab强势回归~~~~走你8
  10. 弄懂goroutine调度原理
  11. Nginx代理Grafana常见错误
  12. 计算机自动隐藏桌面图标,AutoHideDesktopIcons-定时、自动隐藏桌面图标,让电脑更清爽!...
  13. wow模型修改器_wow模型修改器
  14. 2021-01-08
  15. 【Excel】【行列转换:转置粘贴 or TRANSPOSE】
  16. Doxygen错误error:failed to run html help compiler on index.hhp
  17. oracle sys改密码,忘记oracle的sys用户密码怎么修改
  18. 64位Win7 服务器运行失败
  19. 2022.11.15 英语背诵
  20. unity GC机制简单介绍

热门文章

  1. 直击|支付宝还信用卡下月开始收费 每月2000免费额度
  2. 从诱发反应中解码动态脑模式:应用于时间序列神经成像数据的多元模式分析教程
  3. 基于MATLAB平台实现红绿灯(交通灯)识别
  4. 在国企做软件测试工程师是一种什么样的体验:每天过的像打仗一样
  5. 手撕HashMap数据结构(带你逐行阅读源码)
  6. 仿抖音 抖音接口开发文档
  7. token系统讲解及过期处理
  8. python中最小公倍数函数_python求最大公约数和最小公倍数的简单方法
  9. 计算机文档字体替换,word2007进行字体替换的两种方法
  10. 韩版机泛泰A850framework去除漫游、本地化