陳云暉
摘 ?要:該文為了實現(xiàn)對互聯(lián)網(wǎng)信息的有效監(jiān)管,在系統(tǒng)信息采集環(huán)節(jié),力求實現(xiàn)網(wǎng)站身份的自動化認證,和采集動態(tài)化網(wǎng)頁信息。提出基于JSSh該腳本交互接口,能夠成功實現(xiàn)JSSh客戶端通信JSSh服務(wù)器,經(jīng)客戶端向服務(wù)器發(fā)送指令,進而對Firefox瀏覽器操控即可填寫身份認證單,在進行Cookie認證交互處理后便完成了身份自動化認證過程。通過運用Firefox網(wǎng)頁排版引擎Gecko對網(wǎng)頁動態(tài)腳本進行解析,客戶端能夠根據(jù)HTML DOM完成動態(tài)化網(wǎng)頁內(nèi)容及鏈接地址的獲取,也就完成了基于JSSh信息采集的全過程。
關(guān)鍵詞:JSSh ?信息采集 ?校本服務(wù)器 ?解析技術(shù)
中圖分類號:TP274.2 ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A ? ? ? ? ? ? ? ? ? ?文章編號:1672-3791(2020)11(b)-0057-03
Abstract: In order to realize the effective supervision of Internet information, this paper strives to realize the automatic authentication of website identity and the collection of dynamic webpage information in the system information collection link. The script interaction interface based on JSSH is proposed, which can successfully realize the communication between JSSH client and JSSH server. The client sends instructions to the server, and then controls the Firefox browser to fill in the identity authentication form. After the interactive processing of Cookie authentication, the automatic identity authentication process is completed. Through the analysis of the dynamic script of the web page by using the Firefox web page typesetting engine gecko, the client can complete the dynamic web page content and link address acquisition according to HTML DOM, which also completes the whole process of information collection based on jssh.
Key Words: JSSh; Information collection; School based server; Parsing technology
隨著社會發(fā)展各項新興技術(shù)得以不斷創(chuàng)新研發(fā),互聯(lián)網(wǎng)作為新興媒體為人們發(fā)布信息提供了有力途徑,但也增加了信息采集工作的難度。就目前我國的信息安全現(xiàn)狀來講,通過基于Web自動化功能測試,能夠通過對信息自動化采集技術(shù)研究,豐富我國現(xiàn)有技術(shù)研究成果。并且運用成熟的Web瀏覽器網(wǎng)頁排版引擎,能夠進行授權(quán)網(wǎng)站的自動化登錄解析動態(tài)網(wǎng)頁。提出JSSh客戶端、服務(wù)器,能夠成功地完成Firefox瀏覽器功能操控,與目前飛速發(fā)展的互聯(lián)網(wǎng)內(nèi)容生成方式相適應(yīng)。
1 ?JSSh技術(shù)概述
JSSh作為Fire Fox C++模塊,能夠作為Fire Fox成功安裝附加組件。作為JSSh客戶端、服務(wù)器之間的交互過程。外部應(yīng)用程序能夠建立和JSSh服務(wù)器之間的Java校本鏈接,服務(wù)器負責對客戶端的Java指令執(zhí)行,并將最終的執(zhí)行結(jié)果反饋給JSSh客戶端??蛻舳思纯筛鶕?jù)Java通用對象HTML DOM支持的相應(yīng)方法,實現(xiàn)對瀏覽器文檔對象的操控。
對于附加組件內(nèi)完成Firefox的XPCOM組件安裝,通過運用Gecko SDK,能夠運用Java Script或C++完成組件創(chuàng)建。JSSh主要包括了服務(wù)器、客戶端兩大組成,Gecko的提供接口也正是JSSh服務(wù)器,實現(xiàn)Firefox瀏覽器功能操控。JSSh客戶端Fire Watir在Web應(yīng)用程序自動化功能測試中廣泛運用,通過基于Ruby編寫,實現(xiàn)了JSSh服務(wù)器多功能的封裝處理,應(yīng)用程序能夠?qū)ire Fox方便自由操控加載DOM對象。測試者通過利用其完成程序編寫,即可實現(xiàn)對Web應(yīng)用程序的易讀、易維護自動化功能腳本測試。
2 ?基于JSSh網(wǎng)絡(luò)自動身份認證
2.1 填寫身份認證表單
HTML表單主要包括的元素有radio、combobox、checkbox、text field、hidden field等不同類型表單元素,向Web服務(wù)器發(fā)送數(shù)據(jù),可以經(jīng)適當編碼實現(xiàn)有序表示,運用以下公式對表單進行簡化處理。
F=(U,(E1,V1),(E2,V2),…,(Em,Vm))
Firebug作為Firefox瀏覽器的附加組件,能夠?qū)崿F(xiàn)Web頁面的編輯、調(diào)試、跟蹤,并在短時間內(nèi)實現(xiàn)認證表單HTML代碼的快速查找。經(jīng)Firefox完成身份認證表單網(wǎng)頁加載成功后,即可點擊鼠標置于網(wǎng)頁認證單中,這種情況下的HTML源代碼便會顯示于Firebug控制窗口內(nèi),方便對身份認證表單元素的及時識別。
JSSh服務(wù)器根據(jù)操作指示完成Firefox身份認證網(wǎng)頁加載后,以(how,what)此種語法形式,完成含有認證信息的Java指令向服務(wù)器發(fā)送。對比編程重構(gòu)認證Cookie網(wǎng)絡(luò)交互制,經(jīng)JSSh客戶端完成Java指令發(fā)送,可以內(nèi)嵌于Firefox瀏覽器內(nèi),自動填寫身份認證單。僅需Firefox瀏覽器的附加組件,便可實現(xiàn)Firebug認證表單元素查找,成功構(gòu)建自動化填寫身份認證表單的Java指令。
2.2 身份認證及信息請求交互
完成上述步驟后,JSSh客戶端負責對Java指令的操作執(zhí)行,經(jīng)Firefox瀏覽器提交至Web網(wǎng)站的自動化填寫身份認證表單,JSSh客戶端已經(jīng)不再參與瀏覽器及網(wǎng)站的協(xié)商認證過程。完成Web及瀏覽器之間的身份認證后,JSSh客戶端向服務(wù)器的內(nèi)嵌Firefox瀏覽器完成身份認證網(wǎng)站指示發(fā)布相關(guān)信息,進而轉(zhuǎn)至身份認證網(wǎng)站所進行的信息發(fā)布交互環(huán)節(jié)中。
2.3 JSSh采集網(wǎng)站發(fā)布內(nèi)容
完成以上身份認證步驟后,經(jīng)JSSh客戶端能夠繼續(xù)發(fā)送至Firefox瀏覽器,相應(yīng)的身份認證網(wǎng)站Java加載指令,并進行相應(yīng)的信息采集操作。瀏覽器實現(xiàn)對發(fā)布的網(wǎng)頁指令執(zhí)行加載,并向身份認證網(wǎng)站中實現(xiàn)身份發(fā)布頁面的自動認證。JSSh客戶端對于瀏覽器網(wǎng)頁加載DOM樹內(nèi),可以完成網(wǎng)頁身份信息的超文本鏈接提取,經(jīng)過瀏覽并最終導(dǎo)出至對應(yīng)連接的文本信息,即可成功完成身份認證信息采集工作過程。
2.4 運用網(wǎng)頁獲取工具采集內(nèi)容
在完成自動化身份認證后,通過向文件導(dǎo)出網(wǎng)站Cookie信息,并在Wget、Pacuk等下載程序執(zhí)行HTTP協(xié)議文件,最終導(dǎo)入Cookie文件內(nèi),這樣可以有效提升下載效率。譬如Wget能夠完成對用戶提供文件的Cookie信息讀取,并在交互Web服務(wù)器中在HTTP頭部附加Gookie信息,保持建立用戶會話狀態(tài)并獲取相應(yīng)內(nèi)容。
3 ?基于JSSh動態(tài)網(wǎng)頁采集
3.1 動態(tài)網(wǎng)頁解析技術(shù)
針對動態(tài)網(wǎng)頁目前推出Java引擎技術(shù),來完成對動態(tài)網(wǎng)頁Jave腳本的解釋,并獲取超文本鏈接地址及相應(yīng)內(nèi)容。以Spider Monkey技術(shù)為例運用中,能夠?qū)崿F(xiàn)對基本Java分析器的基本功能,可以經(jīng)過編譯并執(zhí)行Java腳本語句函數(shù),能夠分配腳本變量所需的存儲空間,在不需要變量情況下回收原本占用存儲空間。在運行Spider Monkey技術(shù)時的運行環(huán)境,作為對腳本變量、對象及上下文執(zhí)行所需的存儲空間,作為運行Java時的環(huán)境和上下文執(zhí)行關(guān)系。
3.2 構(gòu)建動態(tài)網(wǎng)頁DOM
在用戶請求網(wǎng)頁加載時,瀏覽器根據(jù)網(wǎng)絡(luò)模塊完成相關(guān)數(shù)據(jù)獲取,并向排版引擎轉(zhuǎn)發(fā)接收數(shù)據(jù),實現(xiàn)單獨線程運行。對于排版引擎載入HTML文檔中,可以生成DOM樹,且兼容于CSS2規(guī)范的瀏覽器還可以完成渲染樹、Frame樹的創(chuàng)建,成功創(chuàng)建后便可以在屏幕中顯示reflow過程。此時在網(wǎng)頁內(nèi)嵌入的Java腳本代碼,便會對排版引擎產(chǎn)生影響,整個HTML文檔便可以根據(jù)文檔對象,對網(wǎng)頁元素進行相應(yīng)的訪問改變,譬如實現(xiàn)對樣本屬性的更改,并完成事件監(jiān)聽器的增設(shè)等。
3.3 在DOM內(nèi)完成內(nèi)容采集
所示在成功建立Web瀏覽器的DOM后,便可以根據(jù)DOM的本身提供方法,完成HTML元素訪問采集,并完成Java指令發(fā)送對文檔元素屬性進行查詢,并運行獲取網(wǎng)頁發(fā)布HTML源文件及文本信息。
4 ?結(jié)語
如上在本文提出基于JSSh的信息采集技術(shù),分析了JSSh服務(wù)器、客戶端交互制,通過完成身份認證表單填寫,并協(xié)商Web網(wǎng)站身份認證,進而采用動態(tài)網(wǎng)頁解析技術(shù),構(gòu)建動態(tài)網(wǎng)頁DOM最終完成JSSh網(wǎng)站發(fā)布信息采集,該技術(shù)也會在未來身份認證信息采集相關(guān)領(lǐng)域有較好的應(yīng)用前景。
參考文獻
[1] 李曼尋.“互聯(lián)網(wǎng)+”時代檔案價值與檔案利用的關(guān)系研究[D].安徽大學(xué),2020.
[2] 周靜.“BIM+VR”技術(shù)在建筑設(shè)備運維管理中的應(yīng)用研究[D].長春工程學(xué)院,2020.
[3] 程元澤.基于大數(shù)據(jù)分析的蘇州高鐵新城公共空間活力評價研究[D].蘇州科技大學(xué),2019.
[4] 梁學(xué)書.基于警務(wù)平臺的視頻監(jiān)控基礎(chǔ)信息采集與管理技術(shù)研究及實現(xiàn)[J].警察技術(shù),2017(2):67-70.
[5] 陳云坪,孫源,楊玥,李皓昱,馬存詩,侯磊,陳彥.葉面積指數(shù)在線監(jiān)測實驗系統(tǒng)設(shè)計[J].實驗室研究與探索,2019,38(11):51-55.
[6] 劉興奇.故障預(yù)測與健康管理技術(shù)在用電信息采集系統(tǒng)中的應(yīng)用與展望[J].電器與能效管理技術(shù),2018(2):73-77+82.