1. 程式人生 > >【每天堅持學一點之python爬蟲】1、http基本原理

【每天堅持學一點之python爬蟲】1、http基本原理

【本文是《python3網路爬蟲開發實戰》一書的學習筆記,原書作者崔慶才】

1、URL和URI

    URL,全稱Universal Resource Locator,即統一資源定位符。

    URI,全稱Uniform Resource Identifier,即統一資源標誌符。

    URL是URI的子集,舉例:https://mat1.gtimg.com/pingjs/ext2020/qqindex2018/dist/img/qq_logo_2x.png,這個連結指向了騰訊網的logo圖片,這既是一個URL也是一個URI,它指定了該資源的訪問協議https,訪問路徑,和資源名稱。當然並不是每個URI都是URL,還有一類叫URN,這裡不做記錄。

 

2、超文字

    超文字,hypertext,瀏覽器中看到的網頁就是超文字解析而成,網頁原始碼中的html程式碼就可以稱為超文字。

 

3、http和https

    http和https都是網路協議型別,當然網路協議型別也包括其他的,像ftp,sftp等等。

    http協議,全稱Hyper Text Transfer Protocol,超文字傳輸協議,用於從網路傳輸超文字資料到本地瀏覽器。

    https協議,http協議的安全版,加了ssl的http協議,大勢所趨,在爬取時要專門處理。

 

4、http請求過程

 

5、請求

    請求,由客戶端向伺服器端發出,由四部分構成,請求方法(GET/POST),請求地址(URL),請求頭(Headers),請求體(Body)。

    請求方法,常用為GET和POST,GET的請求引數一般帶在URL中,而POST一般以表單形式傳參,除了這兩種還有其他方法

    請求頭,用來說明伺服器要使用的附加資訊,包括像cookie,user-agent,host等。在編寫爬蟲時,基本上都要對請求頭進行設定,否則會被識別為爬蟲。

   請求體,當請求為POST請求時請求體當中則是表單資料,若為GET請求則請求體為空。同時請求體中的資料型別也與請求頭中的Content-Type有關

 

6、響應

    響應,由服務端返回給客戶端,由三部分構成,響應狀態碼,響應頭,響應體。

    響應狀態碼,表示伺服器對於客戶端請求的響應狀態,例如出名的200,403,404,500等等。

    響應頭,包含了伺服器對請求的應答資訊,例如Server,Set-Cookie,Content-Type等等。

    響應體,響應的正文資料都包含在響應體中,例如請求網頁時,網頁的html原始碼都在響應體中,以及我們請求的諸如json資料等等,都在響應體中,爬蟲解析的也是這塊兒的內容。