【技術實現步驟摘要】
本申請屬于爬蟲識別控制,特別涉及一種爬蟲識別和防控方法、裝置、計算機可讀存儲介質以及電子設備。
技術介紹
1、隨著互聯網技術的飛速發展,用戶的信息系統內容被廣泛發布于互聯網,供公眾獲取。這些信息對于信息整合商和信息分析企業或個人來說,具有極高的商業價值。為了獲取這些數據,他們常采用網絡爬蟲或網頁爬蟲技術,通過自動化手段大量抓取網站數據,并將其轉化為商業價值。
2、網絡爬蟲通過高頻率訪問網站,會對網站造成巨大壓力,導致服務器、數據庫等層面承受巨大負載。這不僅影響了網站的響應速度,還可能導致服務無法響應或響應超時,嚴重影響正常用戶的使用體驗。因此,網站的技術廠商或團隊不得不投入更多資源或研究技術策略來應對爬蟲帶來的壓力。
3、目前,常規的技術方案主要是通過識別爬蟲的特征來進行防控,如ip特征(包括ip地址、訪問頻率等),并采取禁止訪問或人機交互(如登錄、驗證碼)等措施。這些方案雖然在短期內有效,但隨著時間的推移,爬蟲技術團隊能夠迅速攻克這些策略,繼續進行數據抓取。在實際應用中,這些以“堵”為主的策略,爬蟲能夠快速感知到請求被防范,并迅速調整策略以繞過防護措施。此外,還有一類策略是不對爬蟲進行強防控,而是通過擴大服務器資源和精準緩存來提高數據獲取效率,以應對大流量訪問。然而,這種策略對緩存更新技術要求極高,尤其是對于需要實時更新庫存信息的電商網站,需要進行深層次的系統改造,技術成本高昂,一般用戶難以承擔。
4、中國專利申請cn115037526b“反爬蟲方法、裝置、設備以及計算機存儲介質”公開了一種
技術實現思路
1、為了解決上述問題,本申請提出了一種新的爬蟲識別和防控方法。本申請通過建立一套識別爬蟲的策略,同時通過一定量的存儲資源,將爬蟲的請求疏導至高效的緩存/靜態文件上,通過將爬蟲所需爬取的數據進行緩存或者靜態化,無需保證這些數據的準確性和實時性,即可高效地輸出給爬蟲,利用爬蟲無法識別其爬取的數據準確性的特點,緩解爬蟲的影響,實現對正常用戶請求輸出高效響應。
2、為了實現上述目的,本申請提供了以下技術方案:
3、本申請的第一方面提供一種爬蟲識別和防控方法,所述方法包括:
4、接收前端發送的查詢請求,網站后端識別該請求是否為爬蟲請求;
5、若該請求識別為正常用戶查詢請求,則通過正常用戶的訪問流程進行處理和查詢;
6、若該請求識別為爬蟲請求,則直接從緩存中查詢非實時數據,并將查詢到的非實時數據組裝成響應結果返回網站后端;
7、網站后端將該響應結果作為查詢結果返回給爬蟲程序。
8、可選地,本申請方法中,所述網站后端識別該請求是否為爬蟲請求,包括:
9、判斷請求頭是否為常規瀏覽器特征,若不是,則識別為爬蟲請求;
10、判斷請求中是否有編程語言的默認請求頭,若有,則識別為爬蟲請求;
11、判斷請求中是否有設置的非常規請求頭內容,若沒有,則識別為爬蟲請求;
12、判斷請求中是否有調用過首頁的特殊請求,若沒有,則識別為爬蟲請求;
13、若前述各步均未被識別為爬蟲請求,則識別為正常請求。
14、可選地,本申請方法中還包括:
15、建立一個請求頭識別庫,用于請求頭的識別;所述請求頭識別庫中包括:常規瀏覽器的請求頭特征和用于編寫爬蟲程序的編程語言或腳本語言的請求頭特征。
16、可選地,本申請方法中還包括:在進行網頁程序編寫時,寫入一個非常規請求頭,之后在每次調用請求的請求頭中,都帶入該非常規請求頭。
17、可選地,本申請方法中還包括:在首頁或者初始化界面中設置一個頁面特殊請求,在首頁或者初始化界面打開時調用;后臺調用所述頁面特殊請求后,立即在緩存中存儲一個認證值,并將該認證值寫入瀏覽器cookie;下次調用其他請求時,如果從cookie中未查詢到該認證值,或者在緩存中沒有查到相關內容,則證明該請求并非來自頁面的正常請求,由于其跳過了頁面操作的步驟,因此識別為爬蟲請求。
18、可選地,本申請方法中,所述正常用戶的訪問流程,包括:
19、用戶打開網站首頁或者初始化界面,調用網站后端;
20、網站后端存儲緩存,寫入cookie;
21、在頁面上查詢數據,頁面中自動帶入非常規請求頭;
22、網站后端識別非常規請求頭,進行數據查詢,將查詢結果寫入緩存,并設置緩存有效期。
23、可選地,本申請方法中還包括:通過編程設置以下可配置項,通過動態調整和實時擴展可配置項實現對爬蟲的識別和防控:
24、請求頭特征項:包括常規瀏覽器的請求頭特征和用于編寫爬蟲程序的編程語言或腳本語言的請求頭特征;
25、非常規請求頭項:包括請求頭名和對應的值,每次調用請求的請求頭中,都帶入非常規請求頭;
26、頁面特殊請求項:在首頁或者初始化界面中設置頁面特殊請求,在首頁或者初始化界面打開時調用;
27、緩存時間項:調整緩存的時間長短。
28、本申請的第二方面提供一種爬蟲識別和防控裝置,所述裝置包括:
29、爬蟲識別模塊:用于接收前端發送的查詢請求,識別該請求是否為爬蟲請求;
30、正常請求處理模塊:用于當請求識別為正常用戶查詢請求時,通過正常用戶的訪問流程進行處理和查詢;
31、爬蟲請求處理模塊:用于當請求識別為爬蟲請求時,直接從緩存中查詢非實時數據,并將查詢到的非實時數據組裝成響應結果返回網站后端;
32、結果處理模塊:用于將響應結果作為查詢結果返回給爬蟲程序。
33、所述裝置在運行時實現前述的爬蟲識別和防控方法的步驟。
34、本申請的第三方面提供一種電子設備,包括:存儲器和處理器;
35、存儲器:用于存儲計算機程序;
36、處理器:用于執行所述計算機程序,以實現前述的爬蟲識別和防控方法的步驟。
37、本申請的第四方面提供一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時,實現前述的爬蟲識別和防控方法的步驟。
38、綜上,本申請提出了一種新的爬蟲識別和防控方法,本方法具有以下優點:
39、1.解決了常見的以堵為主的策略越堵量越大的問題,以及防范手段不如爬蟲手段提升迅速的問題。本方法以疏導的方式,造成了滿足爬蟲需求的假象,減緩了爬蟲學習和變異的速度,大部分爬蟲沒有感知,會繼續使用自認為有效的爬蟲策略來爬取。
40、2.使得爬蟲難以琢磨防控手段。因為爬蟲仍能獲取到數據,對于哪些數本文檔來自技高網...
【技術保護點】
1.一種爬蟲識別和防控方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述網站后端識別該請求是否為爬蟲請求,包括:
3.根據權利要求2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求2所述的方法,其特征在于,所述方法還包括:在進行網頁程序編寫時,寫入一個非常規請求頭,之后在每次調用請求的請求頭中,都帶入該非常規請求頭。
5.根據權利要求2所述的方法,其特征在于,所述方法還包括:在首頁或者初始化界面中設置一個頁面特殊請求,在首頁或者初始化界面打開時調用;后臺調用所述頁面特殊請求后,立即在緩存中存儲一個認證值,并將該認證值寫入瀏覽器cookie;下次調用其他請求時,如果從cookie中未查詢到該認證值,或者在緩存中沒有查到相關內容,則證明該請求并非來自頁面的正常請求,由于其跳過了頁面操作的步驟,因此識別為爬蟲請求。
6.根據權利要求1所述的方法,其特征在于,所述正常用戶的訪問流程,包括:
7.根據權利要求1所述的方法,其特征在于,所述方法還包括:通過編程設置以下可配置項,通過
8.一種爬蟲識別和防控裝置,其特征在于,所述裝置包括:
9.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時,實現如權利要求1-7中任一項所述的爬蟲識別和防控方法的步驟。
10.一種電子設備,其特征在于,包括:存儲器和處理器;
...【技術特征摘要】
1.一種爬蟲識別和防控方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述網站后端識別該請求是否為爬蟲請求,包括:
3.根據權利要求2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求2所述的方法,其特征在于,所述方法還包括:在進行網頁程序編寫時,寫入一個非常規請求頭,之后在每次調用請求的請求頭中,都帶入該非常規請求頭。
5.根據權利要求2所述的方法,其特征在于,所述方法還包括:在首頁或者初始化界面中設置一個頁面特殊請求,在首頁或者初始化界面打開時調用;后臺調用所述頁面特殊請求后,立即在緩存中存儲一個認證值,并將該認證值寫入瀏覽器cookie;下次調用其他請求時,如果從cookie中...
【專利技術屬性】
技術研發人員:臧凌,楊佳杰,賈宇清,李雄清,馬欣,鐘文超,黃斯諾,
申請(專利權)人:中國民航信息網絡股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。