HTTP請求過程——Chrome瀏覽器Network詳解

HTTP請求過程——Chrome瀏覽器Network詳解

當我們使用Python進行爬蟲的時候,其實就是一個模擬的資源訪問返回過程,使用第三方庫用目的url向所在的服務器發出請求,網站的服務器接收到這個請求後進行處理和分析,然後返回響應。響應中包含了頁面的源代碼等內容,然後我們在對次進行解析和處理,從中得到我們想要的信息。

每個網站根據自己所展示的內容的不同,會有不同級別的反爬手段,我們就要對此進行分析,才能正確的得到自己想要的返回相應,爲了更直觀的說明這個過程,使用Chrome瀏覽器的Network監聽組件來進行分析。

打開Chrome 瀏覽器,快捷鍵F12即可打開瀏覽器的開發者工具。這裏訪問百度,觀察這個過程中發生了怎樣的網絡請求。在Network頁面下方出現了一個個的條目,其中一個條目就代表一次發送請求和接收響應的過程。
在這裏插入圖片描述
Name:請求名稱
Status:響應狀態碼。200爲響應成功,這個可以判斷請求是否的到了正常響應
Type:請求文檔類型。document即爲一個HTML文檔,即HTML代碼
Initiator:請求源。用來標記請求是由哪個對象或進程發起的
Size:從服務器下載的文件和請求資源的大小。如果是從緩存中得到的資源,則爲from cache
Time:發起請求到獲得響應的總時間
Waterfall:網絡請求的可視化瀑布流

點開第一個請求的詳細信息。

返回頭:
在這裏插入圖片描述
General部分:
Request URL:請求的URL
Request Method:請求使用的方法
Status Code:響應狀態碼
Remote Address:遠程服務器的地址和端口
Reffer Policy:Referrer判別策略

請求頭:
在這裏插入圖片描述
Accept:請求報頭域,用於指定客戶端可接受哪些信息類型
Accept-Encoding:指定客戶端可接受的語言類型
Accept-Language:指定客戶端可接受的內容編碼
Host:指定請求資源的主機IP和端口號,其爲請求URL的原始服務器或網關的位置
Cookie:網站爲了辨別用戶進行會話跟蹤而儲存在用戶本地的數據。主要功能是維持當前訪問會話。(非常重要!!!)
Referer:用來標識這個請求是從哪個網頁過來的。服務器拿到這一信息並做相應的處理,如來源統計,防盜鏈等
User-Agent:一個特殊的字符串頭,可以使服務器識別客戶使用的操作系統及版本等信息。在做爬蟲時一定要加上此信息
Content-Type:互聯網媒體類型,在HHTP協議消息中,用來表示具體請求中的媒體信息類型

以上說明了最重要的…

相應頭:
在這裏插入圖片描述
Date:標識產生響應的時間
Content-Encoding:指定響應內容編碼
Server:包含服務器信息,如名稱,版本號等
Content-Type:文檔類型,指出返回的數據類型是什麼。如此處的text/html代表返回的是HTML代碼
Set-Cookie:設置Cookies。響應頭中的Set-Cookie告訴瀏覽器要將此內容放在Cookies中,下次請求攜帶Cookies請求
Expires:指定響應過期時間,可以使代理服務器將加載的內容更新到緩存當中。如果再次訪問,就可直接從緩存中加載,降低服務器的負載,縮短加載時間。

以上說明了最重要的…

一個HTTP請求包括了請求方法,請求網址,請求頭,請求體,在爬蟲的時候做重要的是做好請求頭的僞裝,要會看其網頁返回的請求頭,來分析其反爬,設置相應的請求頭。之後就是響應體,從中我感覺最重要的是知道網頁返回的內容的格式,從而來選擇響應的第三方庫來進行解析。

在請求頭的設置中我感覺只要設置了User-Agent,Cookies,Referer,Accept便可應對絕大部分網頁的反爬。

看到的兄弟可以在評論中分享一下自己在設置請求頭時候的經驗
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章