初識爬蟲一(請求與響應)

  • 2019 年 10 月 7 日
  • 筆記

1,首先,我們在了解爬蟲之前我們要了解網頁請求和響應的過程。

以百度為例:

打開Chrome瀏覽器,按下F12打開開發者模式換到Netword下,在url欄輸入www.baidu.com,會看到Netword下有很多的響應,首先我們要明白這些是什麼

  • name:請求的名稱
  • status:響應的狀態碼
  • type:請求的文檔類型
  • initiator:由那個進程發送的
  • size:下載(圖片或資源)的大小
  • time:從請求到響應的時間
  • waterfall:網路請求可視化瀑布流模型

2,點擊baidu.com會看到更加詳細的資訊,請求頭,響應頭和一些常見的資訊這裡只選擇一些主要的來說。

例如General部分:

  • Request URL:請求的網址
  • Request Method:請求方法
  • Status Code:響應狀態碼
  • Remote Address:伺服器地址和埠

值得注意的有請求方式常見的有兩種:GET POST。

GET 請求的參數包含在URL中可以直接看到。同時請求的數據最多只能有1024位元組。

POST 請求以表單的形式提交不會體現在URL中,當要提交密碼,或者大型文件的時候我們便會使用POST請求。

POST請求的提交方式(Content-Type):

  • application/x-www-form-urlencoded:表單提交
  • multipart/form-data:上傳文件
  • application/json:josn數據
  • text/xml:xml數據

在請求頭中重要的參數有:

  • Accept:指定用戶接收的類型
  • Accept-Encoding:可接受的編碼
  • Accept-Language:可接受的語言
  • Cookie: 維持當前會話
  • Host: 網址或請求的IP和埠號
  • User-Agent:瀏覽器的版本資訊。我們在爬取資訊時要設置這個,防止被識別為爬蟲

在響應頭中重要的有:

  • Date: 響應時間
  • Expires: 過期時間
  • Server:伺服器資訊
  • Set-Cookie: cookie

3,無狀態HTTP HTTP無狀態是指HTTP是沒有任何記憶能力的,不會記錄此時的狀態變化。 為了保持HTTP的連接狀態,會話和Cookies應運而生!兩者相互協作,一個在客戶端,一個在服務端,實現了登錄會話等。

在開發者模式中我們切換到Application左邊我們便可以看到Cookies:

Cookies屬性:

  • name:Cookie的名稱
  • Value:Cookie值
  • Domain:可以訪問該Cookie的域名
  • Max Age:失效的時間
  • Path:使用的路徑
  • Size:大小
  • HTTP:若為true,則只有在http中可以訪問該Cookies資訊
  • Secure:該Cookies是否是否使用安全協議傳輸,默認為false

這裡可以說到HTTP和HTTPS:

HTTP即超文本傳輸協議,詳情可以百度百科。而HTTPS是在HTTP下加入了SSL層,用來加密,來保證數據的安全性。

4,會話Cookie 和持久Cookie

其實沒有會話和持久之分 ,只是時間不一樣。

上述簡單了解了下請求和響應時的屬性分別表示什麼。這些東西不說記住,但是看見了要知道是什麼東西。

Tags: