基于Python中request请求得到的response的属性问题

时间:2022-02-12 06:49:14

Python中request请求得到的response,即通过request得到的数据:

?
1
2
import requests
response = requests.get(https://www.jd.com/)

response 的属性

1、返回状态码

?
1
response.status_code

http请求的返回状态,2XX 表示连接成功,3XX 表示跳转 ,4XX 客户端错误 , 500 服务器错误

2、返回http响应的文本内容

?
1
response.text

http响应内容的字符串(str)形式,请求url对应的页面内容

?
1
2
response=requests.get("https://www.jd.com/")
print(response.text)

如果打印的过程中出现乱码:

基于Python中request请求得到的response的属性问题

则可以使用encoding来修改编码格式:

?
1
2
response.encoding="utf-8"
print(response.text)

3、返回http响应的二进制数据

?
1
2
3
response =requests.get("https://www.jd.com/")
# print(response.content)     #打印出的是二进制形式
print(response.content.decode("utf-8"))

总结:

response的text方法和response的content方法进行对比:

response.text返回的是Unicode型数据,response.content返回的是bytes型,也就是二进制类型的数据;

取文本用.text的方法,取图片用.content的方法;

4、从HTTP header中猜测的响应内容编码方式

?
1
response.encoding

5、从内容分析出的响应内容的编码方式(备选编码方式)

?
1
response.apparent_encoding

6、http响应内容的头部内容

?
1
response.headers

补充:python 爬虫 requests模块(response常用属性)

response常用属性

content获取的response对象中的二进制(byte)类型的页面数据

?
1
response.content

基于Python中request请求得到的response的属性问题

返回响应状态码

?
1
response.status_code

200

返回响应头信息

?
1
response.headers

获取请求url

response.url

https://www.sogou.com/

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_29027865/article/details/83755927