基於瀏覽器內置爬蟲系統的爬蟲實現方法與流程
2023-06-06 02:25:21
本發明涉及計算機網絡領域,具體涉及一種基於瀏覽器內置爬蟲系統的爬蟲實現方法。
背景技術:
目前有很多瀏覽器爬蟲的技術方案;有基於瀏覽器本身的插件和擴展機制,集成到瀏覽器內部實現內容採集;也有基於一些第三方的無頭瀏覽器,如PhantomJS、Selenium等來獲取目標頁面內容;以及通過調用現有的一些瀏覽器內核,直接訪問目標頁面來獲取內容。這些方案或多或少都有一些受限因素,比如瀏覽器本身基於安全性的考慮,有安全沙箱機制,一些關鍵敏感的接口不會直接暴露出來。基於這些限制,往往使得一些瀏覽器爬蟲的功能有限,沒有辦法獲取所有的數據內容。並且這些方案的擴展需要在應用層面實現,而這些擴展就成為了這些工具的特徵,會被同樣基於瀏覽器應用層面的反爬技術識別出來。插件和擴展的方案本身也因為對瀏覽器的依賴,使其本身的部署受到諸多限制。
技術實現要素:
本發明的目的在於為了解決現有技術中網絡爬蟲技術能力有限,無法繞過反爬蟲技術製造的障礙等問題的出現;提供一種基於瀏覽器內置爬蟲系統的爬蟲實現方法。
為了達到上述目的,本發明通過以下技術方案實現:
一種基於瀏覽器內置爬蟲系統的爬蟲實現方法,所述爬蟲實現方法包含:瀏覽器發送請求命令至外部web伺服器;所述爬蟲系統設置在所述瀏覽器的內核層的網絡接口,所述爬蟲實現方法還包含:
S1,根據所述請求命令,所述外部web伺服器依次發送輔助信息、經加密的響應數據至所述瀏覽器;所述輔助信息包含顯示邏輯腳本以及解密邏輯腳本;
S2,所述瀏覽器內置的爬蟲系統對所述輔助信息進行處理,生成數據輸出邏輯,所述瀏覽器解密所述加密的響應數據,並根據所述數據輸出邏輯將解密後的響應數據存入本地伺服器,同時將所述響應數據進行顯示。
較佳地,所述步驟S2包含:
所述爬蟲系統修改所述輔助信息中的所述解密邏輯腳本,形成修改後的解密邏輯腳本;所述修改後的解密邏輯腳本包含所述數據輸出邏輯、所述解密邏輯腳本中的解密邏輯;
所述瀏覽器根據所述修改後的解密邏輯腳本中的所述解密邏輯對所述加密的響應數據進行解密,並根據所述數據輸出邏輯將所述解密後的響應數據發送至本地伺服器進行保存;
所述瀏覽器根據所述顯示邏輯腳本將所述解密後的響應數據在所述瀏覽器的用戶界面進行顯示。
在符合本領域常識的基礎上,上述各優選條件,可任意組合,即得本發明各較佳實例。
本發明的積極進步效果在於:
本發明公開的基於瀏覽器內置爬蟲系統的爬蟲實現方法,首先,瀏覽器發送請求命令至外部web伺服器通過根據請求命令;其次,外部web伺服器發送經加密的響應信息至瀏覽器;最後,瀏覽器內置的爬蟲系統對加密的響應信息進行處理,使得瀏覽器獲取響應數據,存入本地伺服器,並進行顯示。本發明通過在瀏覽器內設置爬蟲系統,使得瀏覽器內核和web應用層關聯起來,能夠破解外部網絡服務發送的加密信息,獲取用戶需求的信息。本發明能夠通過爬蟲系統任意修改web應用層邏輯,監控各種應用層以及非應用層的數據,也即具有強大的功能。同時,由於爬蟲系統不直接工作在web應用層,而是工作在瀏覽器內核層,應用層無法發現爬蟲內核層的監控,因此,本發明中的爬蟲系統具有良好的隱蔽性。
附圖說明
圖1為本發明基於瀏覽器內置爬蟲系統的爬蟲實現方法的整體流程示意圖。
具體實施方式
下面通過實施例的方式進一步說明本發明,但並不因此將本發明限制在所述的實施例範圍之中。
如圖1所示,一種基於瀏覽器內置爬蟲系統的爬蟲實現方法,其中,爬蟲系統設置在瀏覽器的內核層;爬蟲實現方法包含:
S0,用戶通過瀏覽器發送請求命令至外部web伺服器。
S1,根據請求命令,外部web伺服器依次發送輔助信息、經加密的響應數據至瀏覽器。
本發明中輔助信息包含顯示邏輯腳本以及解密邏輯腳本。
本實施例中,外部web伺服器對AJAX(標準通用標記語言的子集)報文內容進行加密,從而實現對瀏覽器要求獲取的響應數據進行加密。
S2,瀏覽器內置的爬蟲系統對加密的響應數據、輔助信息進行處理,生成數據輸出邏輯,使得瀏覽器解密上述加密的響應數據,並根據數據輸出邏輯將解密後的響應數據存入本地伺服器,同時將響應數據進行顯示。步驟S2包含:
爬蟲系統修改輔助信息中的解密邏輯腳本,形成修改後的解密邏輯腳本。
本實施例中,爬蟲系統在解密邏輯腳本中增加了將解密之後的數據輸出的邏輯,形成修改後的解密邏輯腳本。
瀏覽器根據修改後的解密邏輯腳本(例如,用於解密的JavaScript腳本)中的解密邏輯對加密的響應數據進行解密,並根據修改後的解密邏輯腳本將解密後的響應數據發送至本地伺服器進行保存。
本實施例中,當瀏覽器根據解密邏輯腳本解密獲取實際的響應數據後,由於修改後的解密邏輯腳本內包含數據輸出邏輯,則根據該數據輸出邏輯將實際響應數據發送至本地伺服器中。
瀏覽器根據顯示邏輯腳本將解密後的響應數據在瀏覽器的用戶界面進行顯示。
瀏覽器在web應用層對解密後的http響應信息進行邏輯處理,並將解密後的http響應信息在瀏覽器的用戶界面進行顯示。
雖然以上描述了本發明的具體實施方式,但是本領域的技術人員應當理解,這些僅是舉例說明,本發明的保護範圍是由所附權利要求書限定的。本領域的技術人員在不背離本發明的原理和實質的前提下,可以對這些實施方式做出多種變更或修改,但這些變更和修改均落入本發明的保護範圍。