requests模块-response.text和response.content的区别

Python爬虫(requests模块使用) requests发送get请求 #requests模块安装 pip install requests # 1. 导入request模块 import requests # 2. 准备目标url地址 url = 'https://www.baidu.com' # 3. 向目标url地址发送get请求 response = requests.get(url) # 4. 打印响应内容 print(response.text) requests响应对象 # 1. 导入request模块 im 阅读详情

以请求百度为例,看看response.text和response.content有哪些不同:


  • response.content

import requests
response = requests.get("http://www.baidu.com")
response.content

>>>

可以看出输出的字符串类型为bytes。为了获取正确的字符串需要对response进行解码。

         

这样就正常了,这里不添加参数时默认使用的是“utf-8"的编码方式。当然也可以指定参数,response.content.decode("gbk")

  • response.text

可以看出text输出下有些问题:乱码。这是因为response.text在解码时会根据HTTP头部对响应的编码做出推测,推测文本的编码。通过response.encoding属性查看它推测出的编码类型。

      

推测成了”ISO-8859-1“,显然是推测错了。所以我们试试utf-8类型的编码:

这样就没有什么问题了。


总结:

这三种解码的方法应该能解决遇到的所有情况了

1、response.text和response.content的区别

  • response.text

          类型:str

          编码类型:根据HTTP头部对响应的编码做出推测,推测文本的编码

           修改编码方式:response.encoding="gbk"

  • response.content

           类型:bytes

           解码类型:没有指定

           修改编码方式:response.content.decode("utf-8")

2、requests中解决编解码的方法

  • response.content.decode()
  • response.content.decode("gbk")
  • response.text
100天精通Python(爬虫篇)——第114天:爬虫基础模块之requests基础入门 一、request模块大总结 1. 下载安装 2. 常用属性或方法 3. response.text和response.content的区别: 4. 发送带headers参数请求 5. 发送带参数请求 6. 在headers参数中携带cookie 7. 超时参数timeout的使用 8. proxies代理参数的使用 9. 发送post请求............... 阅读详情

相关推荐

S7-1200控制S120变频器

②:硬件目录下,添加实物S120设备进行组态(其它现场设备--PROFINET IO--DRIVES......②:双击S120进行IP地址和设备名称设置(注:此处要与STATER软件设置S120一致)M10.0接通时,电机开始运行,M10.0断开,电机停止,调试完成。①:将S7-1200与S120进行通讯连线。④:STATER软件下设置与组态一致的报文。①:点击添加新设备,按实物进行设备组态。②:打开OB1,编写启动停止程序。①:查看S120报文地址。②:模块下添加DO矢量。③:子模块下添加报文。

weixin_38261173的博客 4867

response.text和 response.content的区别:

1. response.content这个是直接从网络上面抓取的数据,没有经过任何解码,所以是一个 bytes类型,其实在硬盘上和在网络上传输的字符串都是 bytes类型, 2. response,text:这个是 requests,将 response.content进行解码的字符串,解码需要指定一个编码方式, requests会根据自己的猜测来判断编码的方式,所以有时候可能会猜测错误,就会导致...

程序员杂谈 2万+

Windows11安装UE4+Airsim

Windows11安装UE4+Airsim

Legendyyy的博客 3743

python中的requests,response.text与response.content及其编码

requests import requests response=requests.get(“http://www.baidu.com/“) 一、response的属性: print(response) # response.status_code http请求的返回状态,2XX 表示连接成功,3XX 表示跳转 ,4XX 客户端错误 , 500 服务器错误 ...

随心写写 5万+

【智能机器人开发全流程:硬件选型、软件架构与ROS实战,打造高效机器人系统】

通过模块化设计与ROS框架的灵活扩展,可快速搭建适应不同场景的机器人系统。实际开发中需重点关注。

dally2的博客 6035

U24时钟信号上升下降沿出现非单调性--简单分析

交换机U24时钟信号上升下降沿出现非单调性--简单分析

qq_45185504的博客 1131

【Python数据采集系列】requests库response.text/content/json的区别

requests库response.text/content/json的区别

数据杂坛 1612

1006. 换个格式输出整数 (15)-PAT乙级真题

1006. 换个格式输出整数 (15)让我们用字母B来表示“百”、字母S表示“十”,用“12…n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例1...

柳婼 の blog 2243

python出现中文乱码?response.text 和response.content有什么区别?

requests.content返回的是二进制响应内容,而requests.text则是根据网页的响应来猜测编码,如果服务器不指定的话,默认编码是"ISO-8859-1"

jyqkl的博客 1487

第14.11章 高翔博士最新开源框架Lightning-LM源码解读(十一):离线定位模块全解析,从激光匹配到位姿图优化的极致优化

本文介绍了Lightning-LM离线定位模块的技术架构与实现细节。该模块基于3D激光雷达与IMU融合,采用改进版NDT匹配算法实现高精度定位,具备动态图层更新、多源信息融合等特性。核心流程包括数据预处理、激光里程计处理、IMU预测与点云去畸变、位姿图优化等环节,通过轻量级miao库实现高效增量优化。文章详细解析了模块的代码结构、关键函数功能及数据流,为SLAM系统的开发与优化提供了实践参考。

行知SLAM 375

AMBA-CHI协议详解(十五)

Write transactions事务描述以及请求属性,cache line状态转换。

Crazzy_M的博客 650

python爬虫requests模块中response.text和response.content的区别

直接上代码讲解 #使用requests模块发送请求获取代码 import requests #发送请求,获取响应 response = requests.get('http://www.baidu.com') #获取响应数据 print(response.text) # 会打印出类似乱码的字符串,其实是西欧的字体 #获取解码用的字符集 print(response.encoding) # ...

qq_42690811的博客 2830

GFPS技术原理(一)-简介

GFPS(谷歌快速配对服务)利用BLE技术简化设备配对流程,相比传统方式大幅提升用户体验。首次配对时,设备广播包含型号ID和安全密钥的BLE信号,手机检测后弹出配对通知,用户点击即可完成安全连接并将设备与Google账户绑定。该技术支持跨设备同步、电量显示、找回设备等功能,后续配对更加便捷。GFPS通过BLE实现快速发现、一键配对和安全连接,结合Google后端服务提供元数据支持,已成为出海设备的认证标准。其核心优势在于简化操作步骤并增强功能性,特别适合非技术用户群体。

十多年蓝牙协议软件开发,擅长蓝牙协议分析 2061

requests模块认识学习

1. 安装 pip install requests 开发工具安装: file—settings—project spider—添加模块 2. 常用方法 requests.get(网址) 3. 响应对象response的方法 response.text 返回unicode格式的数据(str) response.content 返回字节流数据(⼆进制) response.content.decode(‘utf-8’) 手动进行解码 response.url 返回url response.encode()

weixin_48507541的博客 224

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python爬虫之requests模块

Python爬虫之requests模块

yiluohan0307的专栏 1891

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

requests模块的入门使用

requests模块的入门使用 目标 掌握requests发送请求的方法 掌握response对象的基础属性 掌握requests发送带headers的请求 掌握requests模块发送带参数请求 为什么要重点学习requests模块,而不是urllib requests的底层实现就是urllib requests在python2 和python3中通用,方法完全一样 requests简单易用 Requests能够自动帮助我们解压(gzip压缩的等)网页内容 2.requests的作用 作用:发送网络

zhao_04639的博客 171

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

requests模块入门

安装 pip install request 引用 import request 支持的python版本(2,3版本都支持) python2.X 有这些库名可用: urllib, urllib2, urllib3, httplib, httplib2, requests python3.X 有这些库名可用: urllib, urllib3, httplib2, requests 两者...

lelemom的博客 257

Requests模块

params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode()response.encoding = 'utf-8' 这里使用utf-8编码格式举例。response.text可能会出现乱码,因为编码格式问题,需要手动设置编码格式。查看相应内容,response.text 返回的是Unicode格式的数据。查看相应内容,requests.content 返回的字节流数据。去你要爬虫的网页查看源代码,复制他的编码格式即可。查看完整的url地址。

weixin_65344446的博客 164

requests模块01

requests模块 文章目录requests模块一、 requests模块介绍1、requests模块的作用二、1. 一、 requests模块介绍 网址: http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 1、requests模块的作用 发送http请求,获取响应数据 二、 1. ...

Ronin__L的博客 233

python爬虫requests-Python爬虫(requests模块)

Requests是唯一的一个非转基因的Python HTTP库,人类可以安全享用。Requests基础学习使用方法:1.导入Requests模块:import requests2.尝试用get获取某个页面,以百度为例子url = 'http://www.baidu.com'r = requests.get(url)r是一个response对象。可以从这个对象中获取所有想要的信息。发送简单get的请...

weixin_37988176的博客 161

爬虫(7)一文搞懂爬虫的网络请求,requests库的使用

下饭文章,客官里面请 为什么要使用requests库? resquests库和url.request模块进行爬虫的区别 requests库发送get和post请求, requests库使用代理, requests库处理cookie信息

小白的程序猿 1334

【python爬虫学习笔记】一、requests和json模块的使用

requests和json模块的使用requests主要方法和参数例子:化妆品许可信息爬虫 requests主要方法和参数 主要方法 GET: 请求指定的页面信息,并返回实体主体。 HEAD: 只请求页面的首部。 POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。 PUT: 从客户端向服务器传送的数据取代指定的文档的内容。 DELETE: 请求服务器删除指定的页面。 requests.post() requests.put() requests.delete() re

JeallyBean的博客 2591

Python爬虫01-requests

Python爬虫01-requests

tangsiqi130的博客 1126

requests模块简单学习(一)

requests模块安装resquests模块py -2 -m pip install requestspy -3 -m pip install requestsget方法get请求使用的是requests模块已经封装好的get方法,该方法的原型为:get(url, params=None, kwargs) 发送一个get请求参数说明:url:请求的urlparams:传递查询的参数,可以是字...

weixin_34232363的博客 102

爬虫(三)requests模块

1 为什么要重点学习requests模块,而不是urllib requests的底层实现就是urllib requests在python2 和python3中通用,方法完全一样 requests简单易用 Requests能够自动帮助我们解压(gzip压缩的等)响应内容   2 requests的作用 作用:发送网络请求,返回响应数据 中文文档 : http://docs.python...

松鼠豪的坚果 708

爬虫:请求头,requests库基本使用

抓取数据包得到的内容才是判断依据elements中的源码是渲染之后的不能作为判断标准。请求方式:get(向服务器要资源)和post(提交资源)referer:表示当前这一次请求是由哪个请求过来的。user-agent:模拟正常用户的一种方式。cookie:登陆保持。

2302_80457734的博客 1119
上一篇: python将字符串转换为字典类型
下一篇: python中requests模块小技巧
Answerlzd
博客等级 码龄9年 67粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值