1. 程式人生 > >python3網路爬蟲——day1-1

python3網路爬蟲——day1-1

網路爬蟲教材:

python3 網路爬蟲開發實戰——崔慶才

直接從第二章開始學習。

2.1 HTTP基本原理

URI:Uniform Resource Identifier,統一資源識別符號

URL:Uniform Resource Locator ,統一資源定位符

URN:Uniform Resource Name,統一資源名稱

URI包含URL和URN

HTTP:Hyper Text Transfer Protocol 超文字傳輸協議

HTTPS:Hyper Text Transfer Protocol over Secure Socket Layer,HTTPS安全版,即HTTP下加入SSL層。

HTTP請求過程

瀏覽器向伺服器傳送請求,伺服器收到請求後進行解析處理,返回對應的響應。

請求:分為四部分,請求方法(Request Method),請求網址(Request URL),請求頭(Request Headers)、請求體(Request Body)。

請求方法:GET 和POST。GET請求中的引數包含在URL裡面,資料可以在URL中看到,而POST請求的URL不會包含這些資料,資料都是通過表單形式傳輸的,會包含在請求體中。GET請求提交的資料最多隻有1024位元組,而POST方式沒有限制。

請求網址:唯一確定我們想要的資源

請求頭:用來說明伺服器要使用的附加資訊

        Referer:此內容用來標識這個請求是從哪個頁面發過來的,伺服器可以拿到這一資訊並做相應處理,如做來源統計、防盜鏈處理等

        User-Agent:簡稱UA,它是一個特殊的字串頭,可以使伺服器識別客戶使用的作業系統及版本、瀏覽器及版本資訊。在做爬蟲時加上此資訊,可以偽裝成瀏覽器;如果不加,很可能會被識別出為爬蟲。

        Content-Type:也叫網際網路媒體型別(Internet Media Type)或者MIME型別,在HTTP協議訊息頭中,它用來表示具體請求中的媒體型別資訊。參考http://tool.oschina.net/commons

請求體:請求體一般承載的內容是POST請求中的表單資料,而對於GET請求,請求體則為空。 

Content-Type和POST提交資料方式的關係
Content-Type 提交資料的方式
application/x-www-form-urlencoded 表單資料
multipart/form-data 表達檔案上傳
application/json 序列化JSON資料
text/xml XML資料

響應:響應狀態碼(Response Status Code),響應頭(Response Headers)和響應體(Response Body)

1、響應狀態碼:表示伺服器的響應狀態,如200代表伺服器正常響應,404代表頁面未找到,500代表伺服器內部發生錯誤。在爬蟲中,如果狀態碼為200,則證明成功返回資料,再進行進一步的處理,否則直接忽略。

2、響應頭:包含了伺服器對請求的應答資訊。

              Data:標識響應產生的時間

             Expires:指定響應的過期時間,可以使代理伺服器或瀏覽器將載入內容更新到快取中。如果再次訪問時,就可以直接從快取中載入,降低伺服器負載,縮短載入時間。

3、響應體:響應體的正文資料都在響應體中。我們做爬蟲請求網頁後,要解析的內容就是響應體。