在學(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。