基礎反網路爬蟲手法簡介

近年來,網路爬蟲技術的發展日新月異,被廣泛應用於各行各業,例如資料蒐集、資訊分析、網站監測等。然而,爬蟲技術也可能被用於惡意目的,例如資料竊取、網站攻擊等。因此,網站需要採取有效的反爬蟲措施,以保護自身的安全。

請求類別檢查

檢查 Request Headers

Request Headers 是 HTTP 請求的標頭,包含了請求的來源、使用的瀏覽器、操作系統等資訊,網站可以根據這些資訊來判斷是否為爬蟲。

例如,現代瀏覽器基本上在請求時已經不可能缺少以下四個 Request Headers:Accept-Language、Accept-Encoding、User-Agent 和 Referer。
如果爬蟲未使用 User-Agent 或使用了工具原本的 User-Agent,則會被判定為非法請求。

檢查User Agent

User-Agent 是 Request Headers 中的一個欄位,用來標識使用者使用的瀏覽器或應用程式,網站可以根據 User-Agent 來判斷是否為爬蟲。

例如,如果爬蟲使用了非真實的 User-Agent,則會被判定為非法請求。

檢查 Referer

Referer 是 Request Headers 中的一個欄位,用來標識請求的來源網址,網站可以根據 Referer 來判斷是否為爬蟲。

例如,在正常情形下請求應該會帶入網站的 URL,如果帶入其他網站的 Referer 或未帶任何字串就存取圖片,則會被判定為非法請求。

請求頻率類別

依據IP、Cookie、URL 等請求頻率

請求頻率類別是另一種常見的反爬蟲技術,主要依據爬蟲的請求頻率來判斷是否為惡意爬蟲。網站可以限制爬蟲的請求頻率,在基礎概念上如果爬蟲在短時間內發送了過多的請求,則會被判定為非法請求。

例如,網站可以限制爬蟲每秒只能發送 10 個請求,如果爬蟲在短時間內發送了超過 10 個請求,則會被判定為非法請求。

當然,這些計算可以根據不同的概念下去做計算,例如 IP、URL 甚至用 Cookie 來計算整體請求數量。

結論

網站反爬蟲技術的目的在於防止爬蟲惡意爬取資料,保護網站的安全。網站可以根據自身的情況,選擇合適的反爬蟲技術,當然也可以交由專業的 Bot 防護的相關解決方案。

當然有了反爬蟲技術,爬蟲開發者也會為了避免被反爬蟲技術檢測,爬蟲開發者通常又會採取以下措施:

  • 模擬真實瀏覽器的行為,例如使用真實的 User-Agent 和 Referer。
  • 使用代理 IP 來隱藏真實 IP 地址。
  • 控制爬蟲的請求頻率。
  • 對爬蟲進行定期更新,以應對新的反爬蟲技術。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端