張佳偉
(新疆師范高等專科學校現代教育技術中心 新疆維吾爾自治區烏魯木齊市 830043)
國內絕大多數 Web 數據平臺運行在 X86 體系架構+Win/Linux 操作系統之上,無法直接運行在自主可控的純國產計算環境中。故本研究實現一種輕量級平滑遷移技術,而無需改動原有 Web 數據平臺。研究基于銀河麒麟操作系統+飛騰處理器的自主可控軟硬件,開展針對靜態與動態的非交互 Web 數據平臺抓取技術研究。主要涉及目標 URL 頁面的讀取與下載、頁面過濾、結構解析與數據獲取、頁面視頻轉碼;解析器的框架設計、測試、特征定義等,實現靈活定制正則表達式來篩選目標數據,以及數據存儲設計與展示等。本研究的輕量級遷移方法,避免了重新對原有系統遷移和重構的高昂投入,降低 Web 系統遷移到自主可控平臺的開發周期和資金,為系統自主可控遷移提供一種新思路。本研究成果形成的示范工程,對現有的信息系統進行自主可控改造工作,提供實踐參考,對信息系統安全具有良好的促進作用。
運行在X86 體系架構+Win/Linux 操作系統的靜態與動態的非交互 Web 數據平臺,通過抓取功能按照如圖3 數據抓取功能及業務流程圖所示的流程圖處理,整個數據抓取過程分為目標內容分析、數據抓取、抓取數據分析、URL 識別、URL 去重收集、URL 分配、數據存儲、數據顯示等流程步驟,完成靜態與動態的非交互 Web 數據平臺數據進行抓取,如圖1 所示。
運行在X86 體系架構+Win/Linux 操作系統的靜態與動態的非交互 Web 數據平臺,一般有靜態網站、動態的非交互web 數據平臺、音視頻資源平臺等,同時動態的非交互數據平臺需要使用數據平臺支撐,目前大部分的黨政機關、企事業單位的門戶網站均屬于這種模式。
自主可控改造系統分為頁面抓取、頁面內容存儲、視頻資源轉換、安全審計、系統配置等功能。頁面抓取是從目標網站抓取頁面,獲得網頁Html document 文檔,并對頁面內容進行解析。頁面內容存儲對抓取分析完的數據內部鏈接進行修改重寫,頁面的附件進行存儲。視頻資源轉換,需要對視頻資源進行上傳、轉碼、輸出、發布。安全審計主要是內頁面內容審計,主要是通過內外鏈檢測、關鍵詞安全審計等,進一步加固信息安全。系統配置主要是系統頁面抓取參數配置、視頻轉換配置等。自主可控改造系統功能結構圖如圖2 所示。
頁面抓取處理過程,從系統配置中讀取出當前要改造的系統地址、抓取層級等。從現有信息系統抓取數據,需要目標信息系統網站,獲取document 文件,再對document 文件內容進行解析、URL 采集、URL 去重等工作。Python 具有豐富的第三庫,其中requests 庫是一個常用的用于http 請求的模塊,可以方便的對網頁內容進行抓取。Requests 庫基于urllib 編寫的,采用的是Apache2 Licensed 開源協議的HTTP 庫,比urllib 更加方便使用。Requests 庫常用的頁面請求處理方法有:

圖1:數據抓取功能及業務流程圖

圖2:自主可控改造系統功能結構圖

圖3:自主可控改造前系統訪問流程圖
(1)requests.get()方法獲取html 內容;
(2)requests.head()方法獲取html 頭部信息;
(3)requests.post()方法向html 網頁提交post;
(4)requests.head()方法獲取html 頭部信息。
抓取的document 數據,都是符合HTML/XML 標準數據。Python 庫中有豐富的HTML/XML 解析器,常用的有BeautifulSoup和lxml,或者結合著使用,具有較高的文檔容錯能力。Beautiful Soup 自動將輸入文檔轉換為Unicode 編碼,輸出文檔轉換為utf-8編碼。
頁面內容解析的核心代碼:

頁面內容存儲主要完成抓取頁面內容處理完保存、頁面圖片資源保存、頁面CSS 文件資源保存、頁面JavaScript 頁面保存、頁面附件資源保存等核心功能。附件內容保存通過自定義函數save_attachments(url)完成,處理流程同文件內容保存,只是文件保存時使用urlretrieve()方法。
頁面內容安全審計主要是頁面內外鏈接審計和頁面文本內容審計。頁面文本內容審計主要是通過關鍵詞檢索所有對文本,與不合規文本庫比對,判斷是否有不合規的文本內容。頁面內外連接審計,通過對頁面所有鏈接審計,判斷網站是否存在非法攔截,尤其釣魚網址、惡意鏈接、暗鏈、盜鏈等。
網站文本內容審計核心代碼
soup = BeautifulSoup(content, "lxml")
獲取頁面全部文本
循環關鍵詞列表:
if 當前頁面中存在關鍵詞:
添加該頁面Url 到審計鏈接集
系統配置主要是對網站抓取的配置文件和視頻轉換參數存儲于數據庫,實現配置文件的動態管理。本研究使用國產達夢數據庫,進行數據配置文件存儲。使用前預先安裝達夢數據庫python 語言支持包dmPython。
數據庫使用核心代碼


當用戶訪問現有靜態網站類的資源時,用戶打開瀏覽器,訪問靜態網站等資源平臺時,由資源平臺的Web 服務器與用戶進行數據交互。當用戶訪問動態的非交互 Web 數據平臺的資源時,用戶打開瀏覽器,訪問動態的非交互Web 數據平臺,由數據平臺的Web服務器與用戶進行數據交互,Web 服務器與ASP.NET、JAVA、PHP 等動態語言結合構成動態網站頁面,動態網站數據使用數據庫平臺提供。自主可控改造前系統訪問流程圖如圖3 所示。
本研究提出的針對非交互Web 數據平臺的自主可控改造,是在現有的信息系統前放置基于銀河麒麟操作系統和飛騰處理器的自主可控硬件平臺實現的自主可控改造系統來承載原來的網絡訪問流量,屏蔽后端現有信息系統存在的部分軟硬件安全性問題,來提高信息系統安全性,保護現有的信息系統數據安全。部署完自主可控改造系統硬件平臺,完成目標改造平臺的系統配置,變更現有的信息的系統域名映射地址到自主可控改造系統。用戶訪問原有的信息系統數據平臺,首先訪問自主可控改造系統,由自主可控系統定期去和原有信息系統抓取數據,保證自主可控改造系統的數據的更新。用戶訪問改造前和改造后系統訪問流程感覺不到差異,只是系統內部數據處理流程發生變化。自主可控改造后系統訪問流程圖如圖4所示。
當完成自主可控改造系統硬件部署后,增加相應的目標系統配置,用戶就可以直接訪問改造后的網站。以動態網站改造為例,自主可控增加原網站域名、網站地址、當前網站域名、數據抓取最大層級數、安全策略等相關信息。
本研究針對靜態與動態的非交互 Web 數據平臺,提出一種輕量級的自主可控改造方法,以解決運行在 X86 體系架構+Win/Linux 操作系統之上的數據平臺與基于ARM 和MIPS 的自主可控軟硬件系統結構的差異問題。主要通過移植、優化等方法完善自主可控軟硬件基礎支撐環境,設計實現Web 數據抓取功能,涉及目標 URL 頁面的讀取與下載、頁面過濾、結構解析與數據獲取,實現目標分析、數據抓取、數據顯示等功能。本研究的輕量級國產化遷移方法,避免了重新對原有系統遷移和重構的高昂投入,降低Web 系統遷移到自主可控平臺的開發周期和資金。我國正面臨錯綜復雜的國際政治環境,國家信息安全時刻受到威脅,實現信息系統國產安全可控已刻不容緩,本研究為系統安全自主可控遷移提供一種新思路。另外結合研究成果和實際需求,將單位網站進行國產化遷移,形成研究成果示范,并申請軟件著作權,同時通過信息系統等級保護測評。本研究成果對現有的信息系統安全加固工作,具有良好的促進作用。