天天看點

Python--網絡爬蟲子產品requests子產品之響應--response

當requests發送請求成功後,requests就會得到傳回值,如果伺服器響應正常,就會接收到響應資料;

Response響應中的屬性和方法

常用屬性:

  • status_code:

資料類型:int

作用:傳回HTTP響應的狀态碼:200、404、500、等

  • reason:

資料類型:str

作用:傳回HTTP響應的描述:OK、Not Found、等

  • headers:

資料類型:字典

作用:傳回HTTP響應頭

  • url:

資料類型:str

作用:請求的真實位址

  • history:

資料類型:清單(數組)

作用:通路曆史記錄(重定向記錄)

  • encoding

資料類型:str

作用:HTTP響應頭中的編碼字段,response.text 取反回值時,就是根據這個字段進行解碼的,如果沒有,則按:"ISO-8859-1"解碼

  • cookies

資料類型:RequestsCookieJar

作用:擷取cookie

  • elapsed  

    類型:datetime.timedelta

    作用:發送請求到接收到響應所花費的時長

  • request

類型:requests.models.PreparedRequest

作用:對應的請求對象

  • raw

    作用:原始響應體,也就是 urllib 的 HTTPResponse 對象,使用 response.raw.read() 讀取

常用方法

@property類型方法:

  • ok(self):狀态碼是否小于400,傳回值為True或False
  • apparent_encoding(self):根據傳回内容, 解析出來的字元編碼
  • content(self):原始響應體
  • text(self):經過編碼後的文本内容

普通方法:

  • json(self, **kwargs):轉換成json格式的資料
  • iter_content(self, chunk_size=1, decode_unicode=False):按位元組分塊的疊代器
  • iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=None, delimiter=None):按行分塊的疊代器
  • raise_for_status(self):抛出狀态異常錯誤
  • close(self):關閉連接配接(疊代器擷取資料時,其實就是建立了長連結)

requests響應傳回部分的方法和屬性内容大概就這麼多把