?

基于Python的信息采集系統的分析與設計

2018-03-25 07:31陳藝揚郭子雄何文
精品 2018年7期
關鍵詞:工具包爬蟲網址

■ 陳藝揚 郭子雄 何文

南京工程學院 江蘇南京 211167

1 相關技術簡介

1.1 網絡爬蟲

網絡爬蟲是一種按照一定匹配規則提取Web頁面中特定內容的程序或腳本,通過搜索網頁地址的方式實現對用戶需求內容查找,將查找并傳送結果的過程。爬蟲是代替人手工完成爬取工作的自動化程序,能夠在抓取過程中進行各種異常處理、錯誤重試等操作,確保爬取持續高效地運行,相較于傳統的瀏覽器查找模式準確率更高、信息量更大且更符合用戶上網需求。

1.2 Python

Python不僅提供了功能齊全的類庫來幫助完成請求,包括最基礎的urllib、trep等HTTP庫,還包含豐富的第三方工具包,例如強大的Scrapy、requests。Python能夠對網絡協議的各個層次進行抽象封裝,程序員僅需保證編寫程序的邏輯性,而其強大的字節流處理功能具有很快的開發速度,同樣為程序開發的高效性提供了重要保障。

2 系統分析與設計

2.1 需求分析

用戶需求是根據提供的網頁URL,搜索提取指定類型的數據、文件鏈接,并下載保存至數據庫;功能性需求有用戶功能,包括輸入網址、選擇數據類型、查看保存的數據;系統功能有獲取并解析原代碼、提取匹配內容、下載并存儲數據;非功能性需求有進度可視化、異常提醒。

2.2 系統框架

圖1 系統框架結構

(1)網址管理器

網址管理的方法主要分為三類:①Python內存存儲,適合存儲少量數據。將網址儲存到兩個集合中,一個代表待爬集合,一個代表已爬集合,然后在Python中用Set()來實現。Set()本身具有較強的清除功能,能夠將系統中的重復值全部清除;②關系數據庫存儲,適用于對數據進行長期存儲。通過建立表,其中用兩個字段分別代表網址和爬取狀態。③將網址存儲到數據庫redis當中,適合存儲大量數據。

(2)網頁解析器

網頁解析器是對網頁中的內容和數據進行解剖與分析。在Python基礎上的網頁解析器主要分為兩種:一種是采用正則表達式將整個網頁文檔看作字符串,使用模糊匹配的方式將有價值的數據提取出來。另一種是根據HTML網頁建立一個DOM樹,通過樹的形式對各個節點進行搜索遍歷,DOM樹形結構根據上下級關系,可以很容易地定位各個元素所在的位置。

(3)網頁下載器

網頁下載器是整個系統的核心模塊,網頁中展示的內容通常為HTML格式?,F階段在Python中支持的網頁下載工具有兩類: ①Python官方支持的基礎模塊中的urllib包;②requests第三方工具包,它在功能方面具有十分顯著的優勢。

2.3 功能設計

設計思想:系統主要采用模塊化的設計方式,各個功能具有自己獨立的建設模塊,這為后續代碼的維護提供了極大的便利,可以使代碼的作用得到充分發揮。對于整個系統來說,需要將各個模塊進行編制以后來實現整體功能。

3 結語

本系統利用Python標準庫和第三方工具包構建了一個方便數據采集者使用的可配置自動化信息采集系統。在本文中,并未對系統前端和數據庫表格進行具體設計,這些問題還需進一步分析規劃。隨著科學技術的不斷發展,以往傳統的搜索引擎已經難以滿足當前的信息需求,而爬蟲技術的應用有效地克服了傳統引擎的弊端,具有較大的應用研究價值,能夠通過數據抓取挖掘出更多潛在價值的信息,加上Python語言的功能強大,能為各種軟件工具提供支持,應用Python能夠更加便捷地采集Web信息。

猜你喜歡
工具包爬蟲網址
利用網絡爬蟲技術驗證房地產灰犀牛之說
本刊網址變更通知
基于Python的網絡爬蟲和反爬蟲技術研究
慢性病健康工具包研究進展
火眼金睛快速顯示鏈接的網址
谷歌云與Digital Asset合作推出區塊鏈工具包
大數據背景下校園輿情的爬蟲應用研究
大數據環境下基于python的網絡爬蟲技術
運用MATLAB軟件求解高中數學中的線性和非線性規劃問題
建議為基層站點配備軟硬件“工具包”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合