偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺談網(wǎng)絡爬蟲技術與反爬蟲防護

安全 應用安全
網(wǎng)絡爬蟲按照實現(xiàn)的技術和結(jié)構(gòu)可以分為以下幾種類型:通用網(wǎng)絡爬蟲、聚焦網(wǎng)絡爬蟲、增量式網(wǎng)絡爬蟲、深層網(wǎng)絡爬蟲等。在實際的網(wǎng)絡爬蟲中,通常是這幾類爬蟲的組合體。

?什么是網(wǎng)絡爬蟲

網(wǎng)絡爬蟲本質(zhì)上是一段計算機程序或腳本,其按照一定的邏輯和算法規(guī)則自動地抓取互聯(lián)網(wǎng)信息。

網(wǎng)絡爬蟲的分類及技術原理

網(wǎng)絡爬蟲按照實現(xiàn)的技術和結(jié)構(gòu)可以分為以下幾種類型:通用網(wǎng)絡爬蟲、聚焦網(wǎng)絡爬蟲、增量式網(wǎng)絡爬蟲、深層網(wǎng)絡爬蟲等。在實際的網(wǎng)絡爬蟲中,通常是這幾類爬蟲的組合體。

1、通用網(wǎng)絡爬蟲(Scalable Web Crawler)

通用網(wǎng)絡爬蟲又叫作全網(wǎng)爬蟲,爬取的目標資源在整個互聯(lián)網(wǎng)上,由于信息量巨大,常用于大型的搜索引擎中。它主要由初始化URL集合、URL隊列、頁面爬行模塊、頁面分析模塊、數(shù)據(jù)庫等構(gòu)成。具體步驟是首先選取部分種子URL,將這些URL放入待抓取URL隊列,進行循環(huán)提取,一旦滿足停止條件則不再進行網(wǎng)絡爬蟲搜索。通用網(wǎng)絡爬蟲由于抓取的信息巨大,常使用分布式網(wǎng)絡爬蟲框架進行設計實現(xiàn)。

圖片

圖1-1 通用網(wǎng)絡爬蟲原理及過程?

2、聚焦網(wǎng)絡爬蟲(Focused Crawler)

聚焦網(wǎng)絡爬蟲,也叫主題網(wǎng)絡爬蟲,是指按照預先定義好的主題,有選擇地進行相關網(wǎng)頁爬取的一種爬蟲。和通用網(wǎng)絡爬蟲的區(qū)別在于,聚焦網(wǎng)絡爬蟲在實施頁面抓取時會對內(nèi)容進行處理篩選,將爬取的目標網(wǎng)頁定位在與需求相關的頁面中。目前爬蟲應用中絕大多數(shù)是聚焦爬蟲。

圖片

圖1-2 聚焦網(wǎng)絡爬蟲示例PYTHON代碼

3、增量式網(wǎng)絡爬蟲(Incremental Web Crawler)

增量式網(wǎng)絡爬蟲在爬取網(wǎng)頁的時候只會在需要的時候爬取新產(chǎn)生或發(fā)生更新的頁面,對于沒有發(fā)生變化的頁面則不會爬取。這樣能有效地減少數(shù)據(jù)下載量并及時更新已爬取過的網(wǎng)頁,減少時間和存儲空間上的浪費,但該算法的復雜度和實現(xiàn)難度更高。應用場景包括某電商網(wǎng)站會實時更新一批最近商品,書籍網(wǎng)站根據(jù)作者創(chuàng)作的進度實時更新最新的章節(jié)數(shù)據(jù)等,遇到類似的場景時,便可以采用增量式網(wǎng)絡爬蟲。

為了使爬蟲獲取到的數(shù)據(jù)以增量的形式穩(wěn)定增長,增量爬蟲的核心就是去重。Redis中的Set集合具有天然的去重屬性,所以往往采用的策略是將爬取過程中產(chǎn)生的URL進行存儲,存入到Redis中的Set中,當下次再爬取的時候,對在存儲的URL中的Set中進行判斷,如果URL存在則不發(fā)起請求,否則就發(fā)起請求。

4、深層網(wǎng)絡爬蟲

Web頁面按存在方式可以分為表層網(wǎng)頁(Surface Web)和深層網(wǎng)頁(Deep Web)。表層網(wǎng)頁指的直接使用靜態(tài)的超鏈接就可以直接訪問的靜態(tài)頁面。深層網(wǎng)頁指的是那些大部分內(nèi)容不能通過靜態(tài)鏈接獲取的、隱藏在搜索表單后面的,需要用戶提交一些關鍵詞才能獲得的Web頁面。

反爬蟲

一方面,爬蟲技術容易造成網(wǎng)站帶寬資源的侵占,有些惡意爬蟲可能會對服務器發(fā)起Dos攻擊嚴重導致服務器癱瘓,另一方面從法律上講,不正當?shù)呐老x行為還會造成用戶隱私的泄露,有的甚至導致公司的重要資源被批量爬取,喪失市  場競爭力。在這種背景下,發(fā)展反爬蟲技術尤為重要。

反爬蟲技術是使用技術手段,阻止別人批量獲取自己網(wǎng)站信息的一種方式。技術關鍵也在于批量自動化處理。反爬蟲的目標是將正常的用戶流量和爬蟲流量進行區(qū)分,并阻止爬蟲訪問內(nèi)部真實數(shù)據(jù)。在實際反爬蟲的過程中,錯誤的將普通用戶識別為爬蟲被稱為誤傷率。通常來說,攔截率越高的反爬蟲策略,誤傷的可能性就越高,因此需要做權衡。

反爬蟲技術手段

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

1、軟件方面

1.1 限制User-Agent字段

軟件編碼中User-Agent字段可以攜帶一串包括瀏覽器、操作系統(tǒng)、CPU等用戶設備信息的字符串,如果請求來自非瀏覽器,就能識別其為爬蟲,阻止爬蟲抓取網(wǎng)站信息。其缺點是攻擊者很容易將爬蟲請求的User-Agent字段偽裝成特定地址輕而易舉繞過這一規(guī)則。

1.2 數(shù)據(jù)加密

前端對一些關鍵請求參數(shù),如一些用戶信息類,地址類進行加密,用加密后的數(shù)據(jù)請求服務器,這樣網(wǎng)絡爬蟲由于不知道密鑰,就無法進行模擬請求服務器。

1.3 驗證碼

使用驗證碼可以防止應用或者網(wǎng)站被惡意注冊、攻擊,對于網(wǎng)站、APP而言,大量的無效注冊、重復注冊甚至是惡意攻擊很令人頭痛。數(shù)字、字母加干擾線、噪點,字母重疊擺放,文字點選,滑動拼圖,圖片選擇,點擊驗證,鼠標軌跡等等,無論何種形式的驗證碼,其根本目的都是為了實現(xiàn)人機識別,通過交互來驗證發(fā)起請求的是人還是機器。

1.4 使用蜜罐系統(tǒng)

蜜罐最早是來自于網(wǎng)絡攻防中,主要指防守方故意設置一個或多個服務器漏洞,讓攻擊方輕易地入侵進來,而這些服務器一般安裝了監(jiān)控軟件用來監(jiān)控入侵者的一舉一動。

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

2、硬件方面

2.1 防火墻/服務器限制IP

爬蟲自動化程序一般對服務器內(nèi)容的訪問量大,不同于正常用戶,通過在服務器或者防火墻將訪問量大的IP地址加入黑名單,禁止其訪問。不過限制IP缺點也很明顯,攻擊者可以通過IP代理的方法實現(xiàn)換IP的目的,來從而避免其IP加入黑名單。

2.2 部署Web應用防火墻WAF

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

另外,目前一些云WAF廠商在此基礎上,還提供了智能的反爬蟲模塊,有的產(chǎn)品基于AI分析引擎,通過流量畫像匹配用戶爬蟲,從而建立模型和行為標簽,提供爬蟲和IP情報,使用戶快速識別爬蟲行為,從而進行相關的干預。

風險和挑戰(zhàn)

由于篇幅有限,一些技術細節(jié)并未開展詳細說明。但隨著大數(shù)據(jù)、人工智能時代的來臨,爬蟲與反爬蟲注定不僅僅是一場無休止的戰(zhàn)斗,而且還越來越具備智能交互、模型分析、決策判斷等技能。這給實際運維帶來新的挑戰(zhàn),我們將持續(xù)關注該領域發(fā)展,提升抵御網(wǎng)絡爬蟲風險的各種能力。

責任編輯:武曉燕 來源: 匠心獨運維妙維效
相關推薦

2022-11-24 10:24:32

2022-09-14 23:06:45

2023-06-01 13:15:23

2018-01-29 09:28:44

2017-12-14 21:45:39

2016-10-13 15:51:50

2017-05-16 15:33:42

Python網(wǎng)絡爬蟲核心技術框架

2021-06-10 18:24:59

反爬蟲驗證碼爬蟲

2012-06-13 17:38:57

2018-02-23 14:30:13

2021-06-06 19:53:05

爬蟲處理字體反爬

2019-10-18 08:52:41

程序員爬蟲Java

2024-06-07 08:56:43

HTTPPythonSelenium

2016-10-14 16:35:39

2017-06-30 13:23:02

2018-05-14 15:27:06

Python網(wǎng)絡爬蟲爬蟲架構(gòu)

2015-10-23 10:27:06

網(wǎng)絡爬蟲相似矩陣流程

2009-08-19 10:34:16

反爬蟲

2024-11-27 06:31:02

點贊
收藏

51CTO技術棧公眾號