本申請涉及計算機,具體涉及一種網絡爬蟲的檢測方法、裝置、設備和存儲介質。
背景技術:
1、web機器人一般指網絡爬蟲,是能夠在無需人類干預的情況下自動進行一系列web事務處理的軟件程序。網絡爬蟲雖然有效提升網站的曝光率,但其危害也是多方面的。第一,網絡爬蟲持續且高頻次的爬取數據,類似于小型的ddos攻擊,會造成被爬取方服務器承受的壓力過大,最終崩潰宕機。第二,網絡爬蟲借助批量化、自動化和高速化的流程處理模式,以毫秒級的刷新來獲取難以企及的信息和速度優勢,這對人工處理的普通用戶有失公平。第三,惡意網絡爬蟲會對知識產權與商業機密進行竊取。
2、目前的網絡爬蟲檢測方法存在兩方面的問題,一是無法識別網絡爬蟲客戶端自身的操作系統與偽造的操作系統一致的情況,即刻意將偽造的環境設置配置成與自身環境基本一致;二是可能將非惡意的網絡爬蟲,如百度、必應等搜索引擎,排除在外,減少網站的曝光率。基于此,如何檢測網絡爬蟲成為亟需解決的問題。
技術實現思路
1、本申請實施例提供一種網絡爬蟲的檢測方法、裝置、設備和存儲介質,用以解決網絡爬蟲的檢測問題。
2、第一方面,本申請實施例提供一種網絡爬蟲的檢測方法,包括:
3、基于各網絡訪問行為特征與網絡爬蟲的關聯性,構建所述網絡訪問行為特征的樣本數據集;
4、確定多核學習支持向量機svm的多核函數以及目標參數;
5、基于所述樣本數據集、所述多核函數以及所述目標參數,確定最優的超平面參數;
6、基于所述最優的超平面參數,構造所述網絡爬蟲的決策函數,以基于所述決策函數對所述網絡爬蟲的進行檢測。
7、在一個實施例中,確定各網絡訪問行為特征與網絡爬蟲的關聯性,包括:
8、對每個網絡訪問行為特征對應的多個特征值進行排序;
9、基于排序結果中每個所述特征值的排序序位,確定所述特征值的等級數;
10、基于每個特征向量中任意兩個所述等級數之間的差值,以及每個特征向量的特征值數量,確定各網絡訪問行為特征與網絡爬蟲的關聯性;所述特征向量表征所述網絡訪問行為特征的向量表示。
11、在一個實施例中,所述基于所述最優的超平面參數,構造所述網絡爬蟲的決策函數,以基于所述決策函數對所述網絡爬蟲的進行檢測,包括:
12、基于所述最優的超平面參數,確定偏置項參數;
13、基于所述最優的超平面參數、所述偏置項參數以及多核函數,構造所述網絡爬蟲的決策函數;
14、若所述決策函數輸出目標值,則確定訪問服務器的客戶端為所述網絡爬蟲。
15、在一個實施例中,確定所述多核函數,包括:
16、基于各核函數的準確率,選取至少三個目標核函數;
17、基于所述目標核函數及其權重,確定所述多核函數。
18、在一個實施例中,確定所述目標核函數的權重和所述目標參數,包括:
19、基于所述目標核函數的初始權重和初始目標參數,確定模型準確度;
20、通過先驗分布和采集函數,迭代更新所述初始權重和所述初始目標參數,使所述模型準確度達到最大值;
21、基于最大值的所述模型準確度,確定所述目標核函數的權重和所述目標參數。
22、在一個實施例中,所述基于各網絡訪問行為特征與網絡爬蟲的關聯性,構建所述網絡訪問行為特征的樣本數據集,包括:
23、基于所述關聯性大于設定閾值的網絡訪問行為特征,構建初始樣本數據集;
24、確定所述初始樣本數據集中樣本數量小于設定數量的目標樣本類型;
25、將所述目標樣本類型的第一初始樣本輸入至樣本填充模型,獲取所述樣本填充模型輸出的第二初始樣本;
26、基于所述初始樣本數據集以及所述第二初始樣本,構建所述樣本數據集。
27、在一個實施例中,所述樣本填充模型包括輸入層、中間層和輸出層,其中,所述輸入層和所述輸出層的神經元數與所述第一初始樣本的特征數對應;所述中間層包括三層,每一層包括多個神經元,且采用全連接方式連接各神經元。
28、第二方面,本申請實施例提供一種網絡爬蟲的檢測裝置,包括:
29、樣本數據集構建模塊,用于基于各網絡訪問行為特征與網絡爬蟲的關聯性,構建所述網絡訪問行為特征的樣本數據集;
30、確定模塊,用于確定多核學習支持向量機svm的多核函數以及目標參數;
31、最優的超平面參數模塊,用于基于所述樣本數據集、所述多核函數以及所述目標參數,確定最優的超平面參數;
32、檢測模塊,用于基于所述最優的超平面參數,構造所述網絡爬蟲的決策函數,以基于所述決策函數對所述網絡爬蟲的進行檢測。
33、第三方面,本申請實施例提供一種電子設備,包括處理器和存儲有計算機程序的存儲器,所述處理器執行所述程序時實現第一方面所述的網絡爬蟲的檢測方法的步驟。
34、第四方面,本申請實施例提供一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現第一方面所述的網絡爬蟲的檢測方法的步驟。
35、本申請實施例提供的網絡爬蟲的檢測方法、裝置、設備和存儲介質,通過基于各網絡訪問行為特征與網絡爬蟲的關聯性,構建網絡訪問行為特征的樣本數據集;確定多核學習支持向量機svm的多核函數以及目標參數;基于樣本數據集、多核函數以及目標參數,確定最優的超平面參數;基于最優的超平面參數,構造網絡爬蟲的決策函數,以基于決策函數對網絡爬蟲的進行檢測。本申請先根據關聯度分析,判定與網絡爬蟲關聯度高的特征,利用高關聯度特征構建樣本數據集,同時,結合多核學習的svm進行訓練,得到最優的超平面參數,以對網絡爬蟲進行檢測,提高了網絡爬蟲檢測的準確性。
1.一種網絡爬蟲的檢測方法,其特征在于,包括:
2.根據權利要求1所述的網絡爬蟲的檢測方法,其特征在于,確定各網絡訪問行為特征與網絡爬蟲的關聯性,包括:
3.根據權利要求1所述的網絡爬蟲的檢測方法,其特征在于,所述基于所述最優的超平面參數,構造所述網絡爬蟲的決策函數,以基于所述決策函數對所述網絡爬蟲的進行檢測,包括:
4.根據權利要求1所述的網絡爬蟲的檢測方法,其特征在于,確定所述多核函數,包括:
5.根據權利要求4所述的網絡爬蟲的檢測方法,其特征在于,確定所述目標核函數的權重和所述目標參數,包括:
6.根據權利要求1所述的網絡爬蟲的檢測方法,其特征在于,所述基于各網絡訪問行為特征與網絡爬蟲的關聯性,構建所述網絡訪問行為特征的樣本數據集,包括:
7.根據權利要求6所述的網絡爬蟲的檢測方法,其特征在于,所述樣本填充模型包括輸入層、中間層和輸出層,其中,所述輸入層和所述輸出層的神經元數與所述第一初始樣本的特征數對應;所述中間層包括三層,每一層包括多個神經元,且采用全連接方式連接各神經元。
8.一種網絡爬蟲的檢測裝置,其特征在于,包括:
9.一種電子設備,包括處理器和存儲有計算機程序的存儲器,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至7任一項所述的網絡爬蟲的檢測方法的步驟。
10.一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至7任一項所述的網絡爬蟲的檢測方法的步驟。