爬蟲學習筆記(二)http請求詳解

2022-09-03 08:30:10 字數 1980 閱讀 4566

上篇部落格裡面寫了,爬蟲就是發http請求(瀏覽器裡面開啟傳送的都是http請求),然後獲取到response,咱們再從response裡面找到想要的資料,儲存到本地。

咱們本章就來說一下什麼是http請求,它裡面都有哪些東西,我們在寫爬蟲的時候,怎麼http請求裡面哪些對我們的爬蟲有影響。

咱們開啟乙個**的時候,過程是這樣的客戶端(瀏覽器)傳送請求到服務端(你開啟的**所在的伺服器),服務端接收到請求,處理,返回資料給客戶端(瀏覽器),然後咱們在瀏覽器裡面看到了資料。

明白了這個過程之後呢,咱們再來說http請求裡面都包含了什麼東西。

主要有:get/post兩種型別常用,另外還有head/put/delete/options

get和post的區別就是:請求的資料get是在url中,post則是存放在請求體裡面。

get:一般向伺服器獲取資料用get請求,get請求的資料都是放在url中的,實質上和post請求沒有太大的區別,當然也可以用來向伺服器傳送資料。

post:一般向伺服器傳送資料用post請求,post請求的資料放在請求體裡。

head:與get方法一樣,都是向伺服器發出指定資源的請求。只不過伺服器將不傳回資源的本文部分。它的好處在於,使用這個方法可以在不必傳輸全部內容的情況下,就可以獲取其中「關於該資源的資訊」(元資訊或稱元資料)。

options:這個方法可使伺服器傳回該資源所支援的所有http請求方法。用'*'來代替資源名稱,向web伺服器傳送options請求,可以測試伺服器功能是否正常運作。

delete:請求伺服器刪除request-uri所標識的資源。

url,即統一資源定位符,也就是我們說的**,統一資源定位符是對可以從網際網路上得到的資源的位置和訪問方法的一種簡潔的表示,是網際網路上標準資源的位址。網際網路上的每個檔案都有乙個唯一的url,它包含的資訊指出檔案的位置以及瀏覽器應該怎麼處理它。

url的格式由三個部分組成:

第一部分是協議(或稱為服務方式)。  http/https

第二部分是存有該資源的主機ip位址(有時也包括埠號)。 www.nnzhp.cn/192.168.1.1:8888

第三部分是主機資源的具體位址,如目錄和檔名等。   /index

爬蟲爬取資料時必須要有乙個目標的url才可以獲取資料,因此,它是爬蟲獲取資料的基本依據。

乙個請求由兩部分組成, 請求頭和請求體。

包含請求時的頭部資訊,如user-agent,host,cookies等資訊,user-agent就是你請求用的是什麼瀏覽器,host就是服務端的位址,還有很多資訊,服務端是如何分辨你是用的什麼瀏覽器,你的ip位址就是從請求頭裡面獲取到的。下面就是在請求我部落格的時候,傳送的頭資訊。

請求體就是傳送資料的時候,資料放在請求體裡面。get請求是沒有請求體的,從上面的截圖也能看到,下面是沒有這個請求體的。post請求才有請求體。下面的截圖可以看到登陸部落格的這個請求是乙個post請求,登陸的賬號密碼就是放在請求體裡面的。

上面說了請求,下面說響應。

傳送了請求,服務端要給返回資料嘛。這個就是響應,請求是你發出去的,響應是服務端返回給你的。

響應包含了2個部分,乙個是響應頭,乙個是響應體。響應頭裡面包含了響應的狀態碼,返回資料的型別,型別的長度,伺服器資訊,cookie資訊等等。

響應體裡面就是具體返回的資料了。

有很多響應狀態,不同的狀態碼代表不同的狀態,常見的狀態碼如:200代表成功,301跳轉,404找不到頁面,502服務端錯誤

看下圖~

爬蟲學習 http請求詳解

上篇部落格裡面寫了,爬蟲就是發http請求 瀏覽器裡面開啟傳送的都是http請求 然後獲取到response,咱們再從response裡面找到想要的資料,儲存到本地。咱們本章就來說一下什麼是http請求,它裡面都有哪些東西,我們在寫爬蟲的時候,怎麼http請求裡面哪些對我們的爬蟲有影響。咱們開啟乙個...

爬蟲筆記 http請求詳解(三)

爬蟲就是傳送http請求 瀏覽器裡面開啟傳送的都是http請求 然後獲取到response,咱們再從response裡面找到想要的資料,儲存到本地。接下來就說一下什麼是http請求,它裡面都有哪些東西,我們在寫爬蟲的時候,怎麼http請求,裡面哪些對我們的爬蟲有影響。http請求過程 咱們開啟乙個 ...

3 25 爬蟲學習筆記(二)Http 協議詳解

http 協議 什麼是協議?雙方規定的傳輸形式 http 協議 原理 應用層的協議 ftp 21 檔案傳輸協議 http 80 和 https 443 ssh 22 mysql 3306 redis 6379 mongo 27017 http 和 https 協議的區別 廖雪峰 http 協議詳解 ...