python requests中content与text方法的区别
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方法的区别相关推荐
- python中的content方法_对python requests的content和text方法的区别详解
问题: 一直在想requests的content和text属性的区别,从print 结果来看是没有任何区别的 看下源码: @property def text(self): ""& ...
- python requests text content_python requests的content和text方法的区别
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- python frozenset_Python中set与frozenset方法和区别详解
set(可变集合)与frozenset(不可变集合)的区别: set无序排序且不重复,是可变的,有add(),remove()等方法.既然是可变的,所以它不存在哈希值.基本功能包括关系测试和消除重复元 ...
- python程序调用写好的代码_扣丁学堂浅谈Python编程中NotImplementedError的使用方法...
扣丁学堂浅谈Python编程中NotImplementedError的使用方法 2018-07-04 14:08:02 2559浏览 本篇文章扣丁学堂 Python编程中raise可以实现报出错误的功 ...
- java foward_java 中sendredirect()和forward()方法的区别
HttpServletResponse.sendRedirect与RequestDispatcher.forward方法都可以实现获取相应URL资源. sendRedirect实现请求重定向,forw ...
- java sendredirect报错_java 中sendredirect()和forward()方法的区别
HttpServletResponse.sendRedirect与RequestDispatcher.forward方法都可以实现获取相应URL资源. sendRedirect实现请求重定向,forw ...
- HTTP协议中GET和POST方法的区别
本文详细对比了HTTP协议中GET和POST方法的区别,部分内容可能有误,读者请自行甄别. 转自博客https://sunshinevvv.coding.me/blog/2017/02/09/Http ...
- PHP中静态方法和实例化方法的区别
文章来自:PHP中静态方法和实例化方法的区别 在PHP中类为什么要使用静态方法,有什么好处 不需要实例化?? 可以提高运行效率?? 这是一个经常被时时提出来的问题,很多时候我们以为理解了.懂了,但深究 ...
- php的mktime,php中time()和mktime()方法的区别
time()函数是返回当前时间的.而mktime()函数的主要功能不是返回当前时间,而是格式化时间.虽然单独写mktime()而不加任何参数如:echo mktime()和echo time()的效果 ...
最新文章
- c程序设计语言第五单元,(C语言程序设计基础课件)第五单元循环结构程序设计.pptx...
- golang 判断目录是否为空
- 计算机网络系统中hn是,中南大学计算机网络作业1.pdf
- 总结这阵子的FPGA工作
- ab plc软件_回收拆机拆厂二手机械设备回收PLC自动化物资回收【研发吧】
- matlab 工业相机 曝光时间_机器视觉入门——光源相机镜头
- 神器!微软发布 Python 的 JIT 编译器:Pyjion!
- javascript学习系列(18):数组中的include方法
- matlab漂亮图表,漂亮,美观的图表之Matlab强势回归~~~~走你8
- 弄懂goroutine调度原理
- Nginx代理Grafana常见错误
- 计算机自动隐藏桌面图标,AutoHideDesktopIcons-定时、自动隐藏桌面图标,让电脑更清爽!...
- wow模型修改器_wow模型修改器
- 2021-01-08
- 【Excel】【行列转换:转置粘贴 or TRANSPOSE】
- Doxygen错误error:failed to run html help compiler on index.hhp
- oracle sys改密码,忘记oracle的sys用户密码怎么修改
- 64位Win7 服务器运行失败
- 2022.11.15 英语背诵
- unity GC机制简单介绍