天天看點

網絡爬蟲與反爬蟲防護什麼是網絡爬蟲網絡爬蟲本質上是一段計算機程式或腳本,其按照一定的邏輯和算法規則自動地抓取網際網路資訊。

作者:國内外高防質優伺服器

網絡爬蟲與反爬蟲防護

什麼是網絡爬蟲

網絡爬蟲本質上是一段計算機程式或腳本,其按照一定的邏輯和算法規則自動地抓取網際網路資訊。

網絡爬蟲的分類及技術原理

網絡爬蟲按照實作的技術和結構可以分為以下幾種類型:通用網絡爬蟲、聚焦網絡爬蟲、增量式網絡爬蟲、深層網絡爬蟲等。在實際的網絡爬蟲中,通常是這幾類爬蟲的組合體。

一:通用網絡爬蟲(Scalable Web Crawler)

通用網絡爬蟲又叫作全網爬蟲,爬取的目标資源在整個網際網路上,由于資訊量巨大,常用于大型的搜尋引擎中。它主要由初始化URL集合、URL隊列、頁面爬行子產品、頁面分析子產品、資料庫等構成。具體步驟是首先選取部分種子URL,将這些URL放入待抓取URL隊列,進行循環提取,一旦滿足停止條件則不再進行網絡爬蟲搜尋。

二:聚焦網絡爬蟲(Focused Crawler)

聚焦網絡爬蟲,也叫主題網絡爬蟲,是指按照預先定義好的主題,有選擇地進行相關網頁爬取的一種爬蟲。和通用網絡爬蟲的差別在于,聚焦網絡爬蟲在實施頁面抓取時會對内容進行處理篩選,将爬取的目标網頁定位在與需求相關的頁面中。目前爬蟲應用中絕大多數是聚焦爬蟲。

三:增量式網絡爬蟲(Incremental Web Crawler)

增量式網絡爬蟲在爬取網頁的時候隻會在需要的時候爬取新産生或發生更新的頁面,對于沒有發生變化的頁面則不會爬取。這樣能有效地減少資料下載下傳量并及時更新已爬取過的網頁,減少時間和存儲空間上的浪費,但該算法的複雜度和實作難度更高。

為了使爬蟲擷取到的資料以增量的形式穩定增長,增量爬蟲的核心就是去重。

四:深層網絡爬蟲

Web頁面按存在方式可以分為表層網頁(Surface Web)和深層網頁(Deep Web)。表層網頁指的直接使用靜态的超連結就可以直接通路的靜态頁面。深層網頁指的是那些大部分内容不能通過靜态連結擷取的、隐藏在搜尋表單後面的,需要使用者送出一些關鍵詞才能獲得的Web頁面。

五:反爬蟲

一方面,爬蟲技術容易造成網站帶寬資源的侵占,有些惡意爬蟲可能會對伺服器發起Dos攻擊嚴重導緻伺服器癱瘓,另一方面從法律上講,不正當的爬蟲行為還會造成使用者隐私的洩露,有的甚至導緻公司的重要資源被批量爬取,喪失市  場競争力。在這種背景下,發展反爬蟲技術尤為重要。

反爬蟲技術是使用技術手段,阻止别人批量擷取自己網站資訊的一種方式。技術關鍵也在于批量自動化處理。反爬蟲的目标是将正常的使用者流量和爬蟲流量進行區分,并阻止爬蟲通路内部真實資料。在實際反爬蟲的過程中,錯誤的将普通使用者識别為爬蟲被稱為誤傷率。通常來說,攔截率越高的反爬蟲政策,誤傷的可能性就越高,是以需要做權衡。

六:反爬蟲技術手段

針對惡意爬蟲,可通過軟體和硬體兩方面進行反爬蟲技術防護,采取如下措施來識别和阻斷它。

A:軟體方面

1 限制User-Agent字段

軟體編碼中User-Agent字段可以攜帶一串包括浏覽器、作業系統、CPU等使用者裝置資訊的字元串,如果請求來自非浏覽器,就能識别其為爬蟲,阻止爬蟲抓取網站資訊。其缺點是攻擊者很容易将爬蟲請求的User-Agent字段僞裝成特定位址輕而易舉繞過這一規則。

2 資料加密

前端對一些關鍵請求參數,如一些使用者資訊類,位址類進行加密,用加密後的資料請求伺服器,這樣網絡爬蟲由于不知道密鑰,就無法進行模拟請求伺服器

3 驗證碼

使用驗證碼可以防止應用或者網站被惡意注冊、攻擊,對于網站、APP而言,大量的無效注冊、重複注冊甚至是惡意攻擊很令人頭痛。數字、字母加幹擾線、噪點,字母重疊擺放,文字點選,滑動拼圖,圖檔選擇,點選驗證,滑鼠軌迹等等

4 使用蜜罐系統

蜜罐最早是來自于網絡攻防中,主要指防守方故意設定一個或多個伺服器漏洞,讓攻擊方輕易地入侵進來,而這些伺服器一般安裝了監控軟體用來監控入侵者的一舉一動。

蜜罐技術作為主動欺騙防禦技術的核心,通過暗設陷阱,主動誘導攻擊,動态感覺攻擊行為并定位攻擊源,進而可以對攻擊行為進行捕獲和分析,推測攻擊意圖和動機來進行防禦,保障網絡的安全運作。目前市面上一些主流雲服務系統均搭建了蜜罐系統進行反爬蟲防禦。

B:硬體方面

1 防火牆/伺服器限制IP

爬蟲自動化程式一般對伺服器内容的通路量大,不同于正常使用者,通過在伺服器或者防火牆将通路量大的IP位址加入黑名單,禁止其通路。不過限制IP缺點也很明顯,攻擊者可以通過IP代理的方法實作換IP的目的,來進而避免其IP加入黑名單。

2 部署Web應用防火牆WAF

WAF是檢測機器爬蟲流量最常用的硬體産品,常用三種方式:Robot檢測(識别User-Agent)、開啟JS腳本反爬蟲網站反爬蟲(檢查浏覽器合法性)和CC攻擊防護(限制IP/Cookie/Referer通路者對特定路徑通路頻率),來解決業務網站遭受的爬蟲問題。

網絡爬蟲與反爬蟲防護什麼是網絡爬蟲網絡爬蟲本質上是一段計算機程式或腳本,其按照一定的邏輯和算法規則自動地抓取網際網路資訊。
網絡爬蟲與反爬蟲防護什麼是網絡爬蟲網絡爬蟲本質上是一段計算機程式或腳本,其按照一定的邏輯和算法規則自動地抓取網際網路資訊。
網絡爬蟲與反爬蟲防護什麼是網絡爬蟲網絡爬蟲本質上是一段計算機程式或腳本,其按照一定的邏輯和算法規則自動地抓取網際網路資訊。

繼續閱讀