(爬蟲學習筆記1)網頁請求響應(響應狀態碼,響應頭,響應體)

響應:

響應,由服務端返回給客戶端,可以分爲三部分:響應狀態碼(Response Status Code)、響應頭(Response Headers)、響應體(Response Body)。

1、響應狀態碼

​ 響應狀態碼錶示服務器的響應狀態。在爬蟲中,我們可以根據狀態碼來判斷服務器響應狀態,如狀態碼爲200,則證明成功返回數據,再進行進一步的處理,否則直接忽略。以下給出常見的錯誤代碼及錯誤原因

網頁請求常見響應碼:

狀態碼 說明 詳情
100 繼續 請求者應當繼續提出請求。服務器已經接收到請求的一部分,正在等待其餘部分
101 切換協議 請求者已要求服務器切換協議,服務器已確認並準備切換
200 成功 服務器已成功處理了請求
201 已創建 請求成功並且服務器已經創建了新的資源
202 已接受 服務器已成功處理了請求,但尚未處理
203 非授權信息 服務器已成功處理了請求,但返回的信息可能來自另一個源
204 無內容 服務器成功處理了請求,但沒有返回任何內容
205 重置內容 服務器成功處理了請求,但內容被重置
206 部分內容 服務器成功處理了部分請求
300 多種選擇 針對請求,服務器可執行多種操作
301 永久移動 請求的網頁已永久移動到新位置,即永久重定向
302 臨時移動 請求的網頁暫時跳轉到其他頁面,即暫時重定向
303 查看其他位置 如果原來的請求時POST,重定向目標文檔應該通過GET提取
304 未修改 此次請求返回的網頁未修改,繼續使用上次的資源
305 使用代理 請求者應該使用代理訪問該網頁
307 臨時重定向 請求的資源臨時從其他位置響應
400 錯誤請求 服務器無法解析該請求
401 未授權 請求沒有進行身份驗證或驗證未通過
403 禁止訪問 服務器拒絕此請求
404 未找到 服務器找不到請求的網頁
405 方法禁用 服務器禁用了請求中指定的方法
406 不接受 無法使用請求的內容響應請求的網頁
407 需要代理授權 請求者需要使用代理授權
408 請求超時 服務器請求超時
409 衝突 服務器在完成請求時發生衝突
410 已刪除 請求的資源永久刪除
411 需要有效長度 服務器不接受不含有效內容長度標頭字段的請求
412 爲滿足前提條件 服務器未滿足請求者在請求中設置的其中一個前提條件
413 請求實體過大 請求實體過大,超過服務器的處理能力
414 請求URL過長 請求網址過長,服務器無法處理
415 不支持類型 請求格式不被請求頁面支持
416 請求範圍不符 頁面無法提供請求的範圍
417 爲滿足期望值 服務器爲滿足期望請求標頭字段的要求
500 服務器內部錯誤 服務器遇到錯誤,無法完成請求
501 未實現 服務器不具備完成請求的功能
502 錯誤網關 服務器作爲網關或代理,從上游服務器收到無效響應
503 服務器不可用 服務器目前無法使用
504 網關超時 服務器作爲網關或代理,但是沒有及時從上游服務器收到請求
505 HTTP版本不支持 服務器不支持請求中所用的HTTP協議版本

2、響應頭

​ 響應頭包含了服務器對請求的應答信息,一下給出常用的應答信息:

  • Date:標識響應產生的時間;
  • Last-Modified:指定資源的最後修改時間;
  • Content-Encoding:指定響應內容的編碼;
  • Server:包含服務器的信息,比如名稱、版本號等;
  • Content-Type:文檔類型,指定返回的數據類型是什麼,如text/html代表返回HTML文檔,application/x-javascript則代表返回JavaScript文件,image/jpeg則代表返回圖片;
  • Set-Cookie:設置Cookies。響應頭中的Set-Cookie告訴瀏覽器需要將此內容放在Cookies中,下次請求攜帶Cookies請求;
  • Expires:指定響應的過期時間,可以使代理服務器或瀏覽器加載內容更新到緩存中。如果再次訪問時,就可以直接從緩存中加載,降低服務器負載,縮短加載時間;

3、響應體

​ 最重要的就是響應體的內容了,響應的正文數據都在響應體中,例如請求網頁時,它的響應體就是網頁的HTML代碼;請求一張圖片時,它的響應體就是圖片的二進制數據。而爬蟲要解析的就是響應體的內容。

​ 響應體具體位置:

在這裏插入圖片描述

所有內容全部引自《python3 網絡爬蟲開發實戰(人民郵電出版社)》,此筆記僅用於學習交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章