天天看點

爬蟲必須要了解的請求頭 user-agent

前言

在現在 Python 最火的時代,有一門技術已經被廣泛宣傳了 -- 爬蟲

那爬蟲是什麼呢?它是按照一定的規則,自動地抓取網絡上資訊的程式或者腳本

舉個簡單的例子,騰訊新聞網站上,有統計全國各地的疫情情況

爬蟲必須要了解的請求頭 user-agent

這些疫情,是怎麼彙總的呢?

如果隻是靠人工手動去收集,那耗費的人力物力将非常的龐大。

那具體該怎麼做呢?

其實,這個就是通過爬蟲技術,寫好腳本,到國家衛健委的官網上以及各個城市的衛健委的官網上去擷取到的資料,然後進行歸納總結。

Ps:爬蟲技術好,但是不要去觸犯法律喲

既然爬蟲能擷取到網上的各種資訊,那當然就會有很多公司,不想要自己的資源被其他人随随便便的擷取。

是以,就會有很多平台,會去設定一些反爬蟲的手段,比如今天我們要講到的 user-agent

User-Agent

User Agent 中文名為使用者代理,簡稱 UA。

它是一個特殊字元串頭,使得伺服器能夠識别客戶使用的作業系統及版本、CPU 類型、浏覽器及版本、浏覽器渲染引擎、浏覽器語言、浏覽器插件等等。

也就是說,假設:一個平台,設定了 UA 權限,必須以浏覽器進行通路,當你使用爬蟲腳本去通路該網站的時候,就會出現,通路失敗、沒有權限、或者沒有任何資源傳回的結果等錯誤資訊。

不帶 User-Agent 的情況

爬蟲必須要了解的請求頭 user-agent

通過 Git 圖,你會發現,當我們使用工具去發送請求的時候,user-agent 顯示的是你工具的版本。

那麼當對方平台設定了 UA 權限的時候,我們通過工具去發起請求的時候,就會提示各種錯誤,這個就可以好了解了。

帶 User-Agent 的情況

爬蟲必須要了解的請求頭 user-agent

通過 Git 圖,你會發現,當我們添加了一個 User-Agent 請求頭,再去執行請求的時候,就可以得到正确的結果了。

并且我們使用工具去發送請求的請求頭裡 User-Agent 也已經發生的改變。

那 User-Agent 怎麼去設定呢?

  • 首先,我們要先了解,User-Agent 的組成

以谷歌浏覽器為例:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36

第一部分:Mozilla/5.0,預設都帶上這個值第二部分:(Windows NT 10.0; Win64; x64),表示作業系統版本,Windows NT 10.0 就是 win10 系統,Win64; x64 表示的是 64 位系統第三部分:AppleWebKit/537.36 (KHTML, like Gecko),表示搜尋引擎,也就是浏覽器核心第四部分:Chrome/79.0.3945.117 Safari/537.36,表示浏覽器的版本

  • 然後,再了解一下怎麼檢視 user-agent 打開浏覽器 F12,随便通路一個網站,以百度為例
    爬蟲必須要了解的請求頭 user-agent
    通路到頁面後,檢視任何一個擷取到的資源,都會有一個 user-agent。
  • 最後,怎麼設定呢?

    User-Agent 是一個頭部資訊,所有,我們把 UA 添加到請求頭即可。

    比如 Jmeter:

    爬蟲必須要了解的請求頭 user-agent
    通過以上的了解,我們就可以知道,當公司的接口做了 UA 限制的時候,我們把正确的 User-Agent 的值,添加到請求頭即可。

福利時間,UA 的作業系統部分

  • **Windows 系統下:**Windows NT 5.0,表示 Windows 2000Windows NT 5.1,表示 Windows XPWindows NT 6.0,表示 Windows VistaWindows NT 6.1,表示 Windows 7Windows NT 6.2,表示 Windows 8Windows NT 6.3,表示 Windows 8.1Windows NT 10.0,表示 Windows 10Win64; x64,表示 64 位的系統 WOW64,表示 32 位的應用程式運作于此 64 位處理器上
  • **Linux 系統下:**X11; Linux i686X11; Linux x86_64X11; Linux i686 on x86_64
  • macOS 系統下:

    Macintosh; Intel Mac OS X 10_9_0

    Macintosh; PPC Mac OS X 10_9_0

    Macintosh; Intel Mac OS X 10.12

加助教領取軟體測試相關學習視訊資料哦:1735287168備注CSDN