


摘? 要:為解決傳統網絡目錄更新程序速率慢的問題,文章設計了基于Python爬蟲技術的網絡目錄更新程序,運用GET方式自動解析預設網絡目錄參數,刪除重復網絡目錄,轉化最新得到的網絡目錄為EQ3格式,完成網絡目錄更新,實現EQ3網絡目錄格式更新程序的設計。通過PyQt編寫程序界面得出結論:該程序更新網絡目錄平均耗時為1.568 s,對照組為4.896 s,該程序更新網絡目錄平均耗時低于對照組,更新速率更快,可以解決傳統網絡目錄更新程序速率慢的問題。
關鍵詞:Python爬蟲技術;網絡目錄;更新程序;更新速率
中圖分類號:TP311.1;TP393.092? ? ? ?文獻標識碼:A 文章編號:2096-4706(2020)18-0020-03
Abstract:In order to solve the problem of slow speed of traditional network directory update program,a network directory update program design based on Python crawler technology is carried out. Use the GET method to automatically parse the preset network directory parameters,delete duplicate network directories,convert the latest network directory to EQ3 format,complete the network directory update,and realize the EQ3 network directory format update program design. Through the programming interface of PyQt,it is concluded that the average time required to update the network directory of the design program is 1.568 s,and the control group is 4.896 s. The average time required to update the network directory of the design program is lower than that of the control group,and the update rate is faster,which can solve the traditional network problem of slow catalog update process.
Keywords:Python crawler technology;network directory;update program;update rate
0? 引? 言
網絡目錄作為網絡的核心組成部分,能夠將網絡中的信息通過目錄的形式集中展示,使用戶能夠對網絡中包含的信息一目了然。由于網絡目錄對時效性有很高的要求,網絡目錄必須隨著網絡信息內容的變更及時更新,避免出現目錄與實際內容不符的現象。因此,網絡目錄更新程序應勢而生。以往的網絡目錄更新程序在應用過程中存在耗時長的缺點,無法快速處理格式多樣的網絡信息數據。Python爬蟲技術作為能夠自動捕捉網絡信息的程序,在網絡信息獲取方面具有很大的優勢[1]。隨著Python爬蟲技術的逐步成熟,其已經被應用到多個領域中,因此也可以將Python爬蟲技術引進到網絡目錄更新程序設計中。本人在校期間曾有幸參與過該項目的實驗,希望能夠通過Python爬蟲技術的高效信息獲取功能,從根本上提高網絡目錄更新速率。
1? Python爬蟲技術
Python爬蟲又稱網頁機器人,能夠根據用戶在計算機上登錄網頁的記錄,找尋對應網頁的鏈接,可近似地看作一種網頁追蹤引擎[2,3]。網頁機器人結合網絡信息之間的內在聯系,基于互聯網進行頁面的檢索;同時利用爬蟲指定程序,沿著聯網的頁面的資源定位符爬到其他頁面,并重復這個過程,提取頁面中重要的數據信息,依照相關算法對收集的數據進行計算,分析網絡中關鍵詞與鏈接之間的關聯程度[4]。Python爬蟲技術能夠通過其獨有的Beautiful Soup精準解讀HTML文件,從中提取出有價值的關鍵信息。
2? 基于Python爬蟲技術的網絡目錄更新程序
基于Python爬蟲技術設計的網絡目錄更新程序整體流程圖如圖1所示。
結合圖1所示,下文將針對圖中的3點主要流程進行詳細設計。
2.1? 自動下載網絡目錄
在網絡目錄更新程序設計過程中,首先預設網絡目錄下載參數,其中包括下載路徑、數據類型以及目錄類型等。之后登錄網絡,運用Python爬蟲技術中的調度模塊,分別為網絡域名子模塊、源代碼下載子模塊及網頁鏈接提純子模塊,通過三個模塊的相輔相成,自動下載網絡目錄[5]。具體工作流程如圖2所示。
圖2為Python爬蟲調度模塊的工作流程,初始化條件下的UML控制模塊只有一個網絡爬蟲進入端口,此時可采用下載源代碼子模塊的方式對網頁中源代碼進行下載,結合網頁中的對應鏈接對網頁中關鍵字進行有效提取,并將提取后的鏈接、關鍵字放入UML控制面板中分析數據。基于Python爬蟲技術中的GET方式將自動解析預設網絡目錄參數,此過程所需的程序代碼如圖3所示。
按照圖3所示代碼,即可自動解析網絡目錄,并將下載后的網絡目錄格式參數設置為通用格式文本,為下文操作提供方便。
2.2? 重復網絡目錄刪除
在獲取下載的網絡目錄后,利用Python爬蟲技術的URL管理器防止重復抓取URL和循環抓取URL,并刪除重復網絡目錄[6]。基于Python爬蟲技術的URL網絡目錄屬性表如表1所示。
如表1所示,通過對被檢測網頁的具體描述實現網絡爬蟲對網頁的獲取,同時分析網頁中是否存在重復信息內容,避免更新網絡目錄時出現重復目錄。利用Python爬蟲技術,將網頁轉換成一個字符串,能夠有效解決文檔復雜的問題,降低程序運行所需耗時。
2.3? EQ3網絡目錄格式更新
刪除重復網絡目錄后,將最新得到的網絡目錄轉為EQ3格式,更新EQ3網絡目錄格式[7]。EQ3網絡目錄格式具備信息描述精度高以及數據冗余值低的優點,能夠滿足網絡目錄對信息高度概括的需求[8]。選中所需更新的網絡目錄類型,點擊Exit即可實現網絡目錄更新[9]。
3? 應用實例
3.1? 實驗準備
本次應用實例選取某網絡目錄進行,程序可視化界面通過PyQt編寫。實驗操作系統為Windows XP/2000/2003/7/Vista,硬件設施包括上位機,CPU E5500@ 2.80 GHz;軟件環境為ERTOS(Embedded Real-Time Operating Systems,ERTOS)操作系統,Platform Builder集成開發環境。此次實驗環境設置的具體內容及參數如表2所示。
結合表2所示,實驗內容為測試兩種程序的更新耗時,更新耗時越短,證明該程序的更新速率越快。首先,使用本文設計的程序更新網絡目錄,通過Python爬蟲技術自動下載網絡目錄更新所需參數,記錄更新耗時。再使用傳統程序更新網絡目錄,通過人工手動下載網絡目錄更新所需參數,同樣記錄更新耗時,并記錄實驗結果。
3.2? 實驗結果與分析
根據上述提出的實驗步驟,將實驗結果以表格的形式進行展示,實驗數據對比表如表3所示。
根據表3可得出如下結論:本文設計程序更新網絡目錄平均耗時為1.535 s,而對照組為4.984 s,本文設計程序更新網絡目錄平均耗時明顯低于對照組,更新速率更快,因此基于Python爬蟲技術可以更高效地更新網絡目錄。
4? 結? 論
應用實例的分析結果表明,相比傳統的網絡目錄更新程序,基于Python爬蟲技術設計的網絡目錄更新程序速率更高,可廣泛應用于網絡目錄更新方面。通過基于Python爬蟲技術的網絡目錄更新程序設計,希望能夠在確保網絡目錄更新精度的同時,提高網絡目錄更新速率,增強網絡目錄更新程序的綜合性能。在后網絡目錄更新程序的發展中,應加大本文設計程序在網絡目錄更新中的應用,并將Python爬蟲技術作為促進網絡目錄更新程序優化設計的關鍵技術,持續推進研究。基于此次研究時間有限,雖然取得了一定的研究成果,但對于該程序的研究仍不完善,今后還要對其進行進一步研究,為網絡目錄更新程序的進一步優化提供參考依據。
參考文獻:
[1] 李玉香,王孟玉,涂宇晰.基于python的網絡爬蟲技術研究 [J].信息技術與信息化,2019(12):143-145.
[2] 畢森,楊昱昺.基于python的網絡爬蟲技術研究 [J].數字通信世界,2019(12):107-108.
[3] 王思敏,尹伊秋,宣靜雯,等.基于網絡爬蟲技術的數字資源檢測軟件的設計與實現 [J].現代電子技術,2019(10):132-135.
[4] 溫婭娜,袁梓梁,何詠宸,等.基于Python爬蟲技術的網頁解析與數據獲取研究 [J].現代信息科技,2020,4(1):12-13+16.
[5] 李培.基于Python的網絡爬蟲與反爬蟲技術研究 [J].計算機與數字工程,2019,47(6):1415-1420+1496.
[6] 鄧世廣,王月,馬亞偉.基于Python爬蟲技術的高精度地震目錄更新程序的設計與應用 [J].中國地震,2019,35(3):541-549.
[7] 曹丙虎,張建新.一種基于串口通信的DSP程序更新方法 [J].科技視界,2019(34):111-112.
[8] 于倡和,蘭巨龍,胡宇翔,等.距離矢量路由混合SDN網絡的一致性更新 [J].中國科學:信息科學,2018,48(9):126-140.
[9] 曾曉娟.基于Python爬蟲技術的應用 [J].辦公自動化,2018,23(20):62-64.
作者簡介:宋鈺(1984—),女,瑤族,湖南郴州人,講師,工程碩士,本科,研究方向:Python語言設計開發、計算機專業課程教學。