李嘉恩
(廣東南方職業學院,廣東 江門 529000)
大數據時代,網絡信息呈爆炸式增長,企業、學校等為了更精準地分析、預測相關目標人群的行為、心理規律及相關事物間的聯系規律,使得網絡信息具有更大的商業價值[1],開始獲取大量的網絡數據并進行篩選、分析。為了提升數據挖掘的效率和準確性,相關主體開發了通過爬蟲程序直接爬取目標網站數據的技術。但由于對該技術的發展和應用缺乏管制,大量不加限制的爬蟲對網站運行造成了巨大壓力,可能會造成網站服務器宕機,進而降低正常用戶的信息安全及使用體驗,造成大量用戶流失,網站經營受損。為減少爬蟲造成的問題,相關主體需要從多個方面對反爬蟲技術進行針對性的優化,以避免違規的爬蟲信息抓取操作,對互聯網環境造成更嚴重的不良影響[2]。
技術設置主要體現在前端限制方面,限制方案不完善。一些網站在設置反爬蟲時,對前端限制方案不夠重視:首先,部分網站在制定前端設置方案時,缺乏對關鍵信息的管控,應用CSS等技術時未能有效顯示數據偏移量,無法有效處理關鍵數據的混淆問題,不利于充分開發前端限制的價值[3];其次,部分前端設置的設計工作沒有深入分析不同類型網站的信息組成情況,如沒有完整總結網頁信息的分析價值,導致難以對反爬蟲機制進行有效測試,不利于前端限制的完善;最后,限制方案制定過程中,缺少對網頁中文件類型的研究,加上對爬蟲策略分析不到位,導致無法合理控制各技術資源的偏移量。
首先,制定反爬蟲技術應用方案時,未充分考慮請求規則的設計問題,導致不能對服務器端的請求信息進行有效識別,使得前端限制的有效性降低,難以從源頭上扼制爬蟲的入侵。其次,某些請求規則在制定時,對網絡服務器各項服務請求考察不全面,缺乏對信息資源屬性及配置的深入研究,難以明確信息請求的類型,進而導致請求規則的制定缺少針對性。再次,一些規則在設計時缺少對網站運維基礎條件的分析,未能完整開發數據包的價值,導致處理網站訪問信息時,無法精準把握爬蟲程序的任務特征。最后,部分規則制定時對常規的訪問信息考察不足,未能有效評估并設置網站各項屬性參數[4]。
流量管控是保證反爬蟲技術高質量實施的必要措施。但現有流量管控措施創新不足,對網站監控管理措施不夠重視。首先,對流量管控的探索設計不足,如對于IP地址的設計不夠,請求延遲的管控未能有效改進,使得反爬蟲技術無法有效應對請求限制。其次,部分管控措施缺乏對網站構成的合理研究,如考察信息延遲影響力時,缺乏對加載速度等信息的掌控,導致不能完整、合理評估不同類型爬蟲的信息獲取渠道。最后,對網站信息分布式特征不夠重視,代理方案等方面存在質量問題。另外,當前對數據加密的重視程度不夠,采用的加密措施單一,無法制定出參數合理的加密管理方案。
現有反爬蟲技術在技術方案設計中,對爬蟲偽裝機制缺少深入分析和有效總結,無法有效識別爬蟲狀況,無法有效掌握爬蟲過濾程序的應用情況,因此難以為網站反爬技術的應用提供高質量的支持。加上現有部分爬蟲技術在研究過程中,未能對數據構成進行有效研究,最終導致其所設置的資源抓取順序十分混亂,因此其在分析GB級、TB級數據時,難以充分掌握爬蟲的構成情況,導致無法進一步優化反爬策略。
反爬策略應用方面的問題主要體現在部分非妥協式策略的應用不夠合理有效。首先,在反爬蟲技術設計中,未能對IP單位進行充分研究,無法對技術的訪問次數等特點進行考察分析,對信息日志的應用價值不夠關注。其次,一些非妥協式策略在應用時對現有爬蟲原理缺乏全面考察,雖然調取了封禁技術,但封禁時間等特征無法被合理地認定。最后,部分非妥協式策略未能在設計時充分考察客戶端的需求,未能有效應用滑塊拼圖等人機驗證技術,難以提升反爬策略的應用水平。
首先,在設置反爬蟲方案時,一定要總結前端限制工作,靈活使用CSS/HTML標簽來設計信息構成,以此提高前端設置中資源配置的合理性。同時,應加強關注元素錯位引起的負面效應,合理應用自定義字體實現字體反爬。其次,務必對圖片等偏移量信息進行深入研究,對數據混淆問題及其負面影響進行有效管控。設計前端限制方案時還應利用多種測試手段分析反爬蟲技術應用效果,對相關網頁開展有效抽樣測試及研究,進而針對發現的問題進一步改進反爬蟲技術。
字體反爬是重要的反爬策略,前端設計中應對網站源碼進行研究,通過對源代碼信息真實性的研究,更精準地認識與CSS文件相關的數據及其偏移量,合理滿足字體隱藏的控制需求,為后期字體導入、文字渲染等工作提供幫助。
在反爬蟲技術設計中,加強對服務器端特征的研究,優化請求限制的設計。制定請求規則時,必須在充分研究爬蟲原理、反爬蟲策略的基礎上,對網站服務器設計的各類請求信息進行價值認定。在分析屬性、配置信息時,需對當前請求規則的應用效果進行研究,如對Python requests等易被察覺的數據進行價值考察,從而為數據包資源的開發提供保障。在創新請求規則時,需要針對爬蟲任務的調整進行相應的挑戰,如在發現網站模擬請求設計質量差的情況下,對請求頭屬性進行重新認知,對常規訪問措施及規則進行有效的制定和調整。請求規則的制定還應關注反爬字段的設計,如分析自定義字段的校驗碼設置問題,以便反爬字體在應用時能更有效地滿足請求主體的身份識別等需要。
制定反爬蟲技術方案時,需對流量管控進行多方面研究與分析,深入挖掘網站監控的需求,使所制定的管控措施能更完整、有效地適應反爬蟲策略的應用需要。在設計信息下載等管理方案時,務必對IP地址進行嚴格的分析和控制,重視網站交互管理及相關舉措。制定具體流量管控措施時,需要對應用主體的各項需求進行全面剖析,以合理應用延時加載等技術。
在應用數據加密技術時,應充分考慮爬蟲偽裝機制及應用反爬蟲技術的基礎條件,合理分析網站中各類信息的加密需求,以合理地對不同信息進行加密。
偽裝機制、抓取技術是爬蟲的關鍵技術,對其進行研究是識別爬蟲、認知爬蟲具體危害的必要工作,也是進行爬蟲技術設計的重要前提。因此,設計網站反爬蟲時,應加強對爬蟲偽裝機制、抓取技術的認知和識別,深入分析和總結設置Header、定時休眠、使用普通或高匿代理服務器、偽裝網站Cookie等常用的偽裝機制,深入分析和總結深度優先、廣度優先、大站優先、反向鏈接、Partial PageRank等抓取策略,為爬蟲設計及反爬策略的應用提供參考。
反爬策略包含妥協式、非妥協式兩種。妥協式策略包括Robots.txt協議、Sitemap.xml靜態文件的設置,前者是在網站目錄下設置Robots.txt文件,告訴規范的爬蟲設計者哪些信息允許被爬取,哪些信息不允許被爬取,后者是將整個網站所有鏈接及元數據設置為單獨的靜態文件,從而降低爬蟲對網站動態信息的爬取,減輕網站運行的壓力。
非妥協式策略有限制同意IP單位時間內的訪問次數、設置復雜驗證方式、利用JS腳本防爬蟲、Css數據加密、字體反爬、以圖片代替重要信息等功能。設計策略時,應根據當前IP地址情況設計策略主體的構成內容,保證系統的元數據具有較高的利用價值,以更好地發揮妥協策略的作用。而在非妥協策略設計中,應加強對IP訪問次數的限制,并應用復雜的人機驗證技術來處理大量請求信息,加強數據加密和字體反爬,如字體反爬使瀏覽器上的文字正常顯示,但被爬蟲爬取后數據會變為亂碼或者被其他字符替代,以避免網站信息被惡意、非法使用。
綜上,大數據已廣泛應用于各個領域,對人們的日常生活與工作產生了巨大的影響,而大數據時代背景下,數據對各領域發展的重要性大幅提升。為便捷、高效地獲取數據,幫助相關企業提高競爭力,網絡爬蟲技術悄然興起,但基于對信息安全等因素的考慮,需要控制網絡爬蟲,減少爬蟲對網站的危害。因此,需要在充分研究爬蟲技術的基礎上,優化反爬蟲技術,以適應當前網絡環境改進的需要,減輕網站運行及管理的壓力,避免大量數據流失。