App下載

基于Python中request請(qǐng)求得到的response的屬性問(wèn)題

猿友 2021-08-03 15:26:27 瀏覽數(shù) (3363)
反饋

在學(xué)習(xí)python爬蟲(chóng)的時(shí)候我們會(huì)涉及到python中的request請(qǐng)求返回的response響應(yīng)。這個(gè)response響應(yīng)帶有一些response屬性,可以為我們頁(yè)面分析提供一定的幫助,接下來(lái)我們就來(lái)了解一下response中有哪些response屬性吧。

Python中request請(qǐng)求得到的response,即通過(guò)request得到的數(shù)據(jù):

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

response 的屬性

1、返回狀態(tài)碼

response.status_code

http請(qǐng)求的返回狀態(tài),2XX 表示連接成功,3XX 表示跳轉(zhuǎn) ,4XX 客戶(hù)端錯(cuò)誤 , 500 服務(wù)器錯(cuò)誤

2、返回http響應(yīng)的文本內(nèi)容

response.text

http響應(yīng)內(nèi)容的字符串(str)形式,請(qǐng)求url對(duì)應(yīng)的頁(yè)面內(nèi)容

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

如果打印的過(guò)程中出現(xiàn)亂碼:

返回亂碼

則可以使用encoding來(lái)修改編碼格式:

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

3、返回http響應(yīng)的二進(jìn)制數(shù)據(jù)

response =requests.get("https://www.jd.com/")
# print(response.content)     #打印出的是二進(jìn)制形式
print(response.content.decode("utf-8"))

總結(jié):

response的text方法和response的content方法進(jìn)行對(duì)比:

response.text返回的是Unicode型數(shù)據(jù),response.content返回的是bytes型,也就是二進(jìn)制類(lèi)型的數(shù)據(jù);

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

4、從HTTP header中猜測(cè)的響應(yīng)內(nèi)容編碼方式

response.encoding

5、從內(nèi)容分析出的響應(yīng)內(nèi)容的編碼方式(備選編碼方式)

response.apparent_encoding

6、http響應(yīng)內(nèi)容的頭部?jī)?nèi)容

response.headers

補(bǔ)充:python 爬蟲(chóng) requests模塊(response常用屬性)

response常用屬性

content獲取的response對(duì)象中的二進(jìn)制(byte)類(lèi)型的頁(yè)面數(shù)據(jù)

response.content

返回響應(yīng)狀態(tài)碼

response.status_code

200

返回響應(yīng)頭信息

response.headers

獲取請(qǐng)求url

response.url

https://www.sogou.com/

以上為就是response屬性的全部介紹了,希望能給大家一個(gè)參考,也希望大家多多支持W3Cschool。


0 人點(diǎn)贊