爬蟲寫法及狀態碼的認知,以小豬短租為例---爬蟲案例
阿新 • • 發佈:2018-11-07
寫一個最簡單的爬蟲
先介紹,我的環境:
Ubuntu:18.04(64位)
IDE(解釋為開發環境,用什麼寫的)
Python3.6
注意Python2.X 和Python3.X有些語法問題,看情況而定
爬蟲網站為'http://www.xiaozhu.com/'
前面說過了request請求,response響應,OK第一個爬蟲完成了,是不是很簡單.不說這麼多了上程式碼.看看效果.這個爬蟲只是請求的網頁<HTML>
import requests #匯入相應的包檔案 headers={ 'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36' } #加入請求頭 respones =requests.get('https://bj.xiaozhu.com/','headers=headers') #輸入網址傳送請求 print(respones) #請求得到響應,請求成功
得到:'<Response [200]>',這個是什麼?說明訪問成功.
-
這裡就需要咱們要知道些什麼了,訪問是否成功,返回數值為狀態碼什麼意思?
1XX(資訊類)
該型別狀態碼錶示接收到請求並且繼續處理。
-
100,客戶端必須繼續發出請求。
-
101,客戶端要求伺服器根據請求轉換HTTP協議版本。
2XX(響應成功)
該型別狀態碼錶示動作被成功接收、理解和接受。
-
200,表明該請求被成功地完成,所請求的資源傳送到客戶端。
-
201,提示知道新檔案的URL。
-
202,接受並處理,但處理未完成。
-
203,返回資訊不確定或不完整。
-
204,收到請求,但返回資訊為空。
-
205,伺服器完成了請求,使用者必須復位當前已經瀏覽過的檔案。
-
206,伺服器已經完成了部分使用者的GET請求。
3XX(重定向類)
該型別狀態碼錶示為了完成指定的動作,必須接受進一步處理。
-
300,請求的資源可在多處獲得。
-
301,本網頁被永久性轉移到另一個URL。
-
302,請求的網頁被重定向到新的地址。
-
303,建議使用者訪問其他URL或訪問方式。
-
304,自從上次請求後,請求的網頁未修改過。
-
305,請求的資源必須從伺服器指定的地址獲得。
-
306,前一版本HTTP中使用的程式碼,現已不再使用。
-
307,宣告請求的資源臨時性刪除。
4XX(客戶端錯誤類)
該型別狀態碼錶示請求包含錯誤語法或不能正確執行。
-
400,客戶端請求有語法錯誤。
-
401,請求未經授權。
-
402,保留有效ChargeTo頭響應。
-
403,禁止訪問,伺服器收到請求,但拒絕提供服務。
-
404,可連線伺服器,但伺服器無法取得所請求的網頁,請求資源不存在。
-
405,使用者在Request-Line欄位定義的方法不被允許。
-
406,根據使用者傳送的Accept,請求資源不可訪問。
-
407,類似401,使用者必須首先在代理伺服器上取得授權。
-
408,客戶端沒有在使用者指定的時間內完成請求。
-
409,對當前資源狀態,請求不能完成。
-
410,伺服器上不再有此資源。
-
411,伺服器拒絕使用者定義的Content-Length屬性請求。
-
412,一個或多個請求頭欄位在當前請求中錯誤。
-
413,請求的資源大於伺服器允許的大小。
-
414,請求的資源URL長於伺服器允許的長度。
-
415,請求資源不支援請求專案格式。
-
416,請求中包含Range請求頭欄位,在當前請求資源範圍內沒有range指示值。
-
417,伺服器不滿足請求Expect頭欄位指定的期望值。
5XX(伺服器錯誤類)
該型別狀態碼錶示伺服器或閘道器錯誤。
-
500,伺服器錯誤。
-
501,伺服器不支援請求的功能。
-
502,閘道器錯誤。
-
503,無法獲得服務。
-
504,閘道器超時。
-
505,不支援的http版本。