申 聰,戴小鵬,2,樊振宇
(1. 湖南農業大學信息科學與技術學院,湖南 長沙 410128;2. 湖南農業大學東方科技學院,湖南 長沙 410128)
基于網絡爬蟲的移動農業信息服務系統的設計與實現
申 聰1,戴小鵬1,2,樊振宇1
(1. 湖南農業大學信息科學與技術學院,湖南 長沙 410128;2. 湖南農業大學東方科技學院,湖南 長沙 410128)
應用網絡爬蟲技術、Bomb后端云和移動應用開發技術設計了一套移動農業信息服務系統。從農業數據獲取、農業數據存儲和農業數據顯示3個方面分析了移動農業信息服務系統中數據傳輸處理的過程,得到了通過網絡爬蟲技術獲取農業數據,借助Bmob移動云平臺存儲農業數據和通過移動終端將農業數據可視化具有一定優勢的結論。
網絡爬蟲;Bmob云平臺;農業信息服務
目前,我國農村農業發展處于新時期的平穩發展階段,推動農業信息服務體系的建設,是農業信息化發展的重要保障,也是建設現代農業的必要選擇[1],隨著科技的進步和互聯網時代的到來,我們國家也正在改變農業信息的風貌,在依靠傳統報紙廣播傳播農業信息的狀態下,增加了農業網站等新的傳播形式,無論是在技術上還是信息的數據量上都有較大的提升。傳統的農業信息獲取方法雖然來源渠道較多,數據量較大,但是不能很好的收集和歸納,而且收集的問題也會隨著數據量和復雜程度的增加而變得更加難以收集和處理,因此,傳統的農業信息獲取方式急需改變。目前,農業相關網站高達數10萬個,農業信息的數據量亦是呈指數增長,農業信息涉及范圍廣,因此,在大量數據中如何檢索有效信息是農業信息服務的重點。筆者研究農業信息從獲取、存儲到顯示的過程,用網絡爬蟲、Bomb后端云和移動應用開發技術設計移動農業信息服務系統,為互聯網時代下農業信息可視化的服務系統的開發提供參考。
1.1 網絡爬蟲的基本原理
網絡爬蟲的原理主要涉及到2種基本的算法,即深度優先算法和廣度優先算法[2],深度優先算法在是從初始網頁的一個鏈接出發,根據此鏈接的URL地址,繼續進行到下一個網頁,再從下一個頁面的鏈接繼續深入,直到找到所需數據為止,此算法適合于當前頁面可獲取數據較少但多層的情況,可以利用此算法加快數據的獲取速度;廣度優先算法是把初始頁面中的所有鏈接訪問一遍,如果沒有想要的數據,再繼續深入到第二層頁面的鏈接,然后第二層頁面的所有鏈接都訪問一遍再繼續深入,以此類推,直到找到想要的數據后返回,廣度優先算法是適合于所需數據在當前頁面,或者數據在當前頁面的鏈接深度較少的頁面的情況,因為此算法對搜索深度較小頁面的數據的獲取具有較大的優勢,如圖1。
1.2 網絡爬蟲的工作流程
網絡爬蟲在農業信息數據的收集過程中扮演重要角色。爬蟲工作主要利用Phthon語言從初始URL開始,進入當前頁面,獲取當前頁面的數據,通過當前頁面的數據的收集與處理,從中提取出有價值的信息,這些信息能及時反饋給系統,為下一次URL的選擇提供參考的依據,第二次選擇URL后進入下一級頁面,獲取下一級頁面的數據,根據獲得的數據判斷是否已經滿足停止的條件,不滿足則繼續按照上述方法繼續尋找下一級URL,如此循環反復,直到搜集的數據已經能夠滿足用戶的需求[3],如圖2。

圖1 網絡爬蟲的基本算法

圖2 網絡爬蟲工作流程圖
根據網絡爬蟲的基本原理和流程,網絡爬蟲無論是采取深度優先還是廣度優先算法,都是以滿足爬蟲的要求和條件結束,該條件包括已經或得準確的農業數據或者已經搜索完全該頁面中所有數據以及下一級鏈接中所有數據,因此,采用此方法獲取農業數據具有準確和無遺漏的特點,這是網絡爬蟲獲取農業數據的主要優越性。
2.1 Bmob云平臺的搭建
農業數據存儲在Bmob云平臺上面[4],Bmob云平臺是一款為手機移動終端提供數據存儲的一個云數據庫,利用Bmob提供的SDK,在手機Android應用開發中為手機APP提供數據,可以實現數據的上傳和下載,下載好SDK后需要獲取密鑰Application ID,在Project 的 build.gradle 文件中添加 Bmob的maven倉庫地址:

<uses-permission android:name="android.permission. INTERNET" />
初始化BmobSDK,在主頁面的主函數里面加入下面代碼:
Bmob.initialize(this, "Your Application ID");
搭建完成后就可以實現對Bmob云平臺的訪問。
2.2 數據的管理
Bmob云品臺的管理工作主要是針對于數據的增刪改查,此數據是指簡單的字符數據和包括音頻文件、圖片文件和視頻文件在內的文件數據,Bmob云平臺不僅僅是數據的存儲的作用,還有對上傳和下載的功能,這些功能的存在避免了關系型數據庫的繁瑣和減少了搭建服務器高額的費用,為移動應用開發人員提供了方便,后臺管理人員可以借助于這些功能,根據Bmob在線操作手冊實現移動終端或者Web端直接操作云平臺,因此,在Bmob云平臺上面的數據管理具有簡單易操作的特點,為移動終端的手機應用開發提供了良好的后臺保障。
3.1 移動終端數據的獲取
現在信息技術已經成為科技競爭的重要資源[5],信息技術發展到一定的階段后會演變成數據的競爭,數據的概念逐漸深入人心。該農業信息服務系統最重要的是數據的處理和傳輸,因此在數據的頁面顯示部分應用了較多的技術和較難的處理方法。
數據的獲取是基于網絡爬蟲的農業信息服務系統頁面顯示的關鍵一步,從Bmob云平臺上獲取到農業信息服務的數據,移動終端建立起與Bmob云平臺的連接可實現對Bmob中的數據的操作,通過Android移動應用開發的技術對數據進行處理和加工,將Bmob端的數據接收到移動終端以后可以實現農業信息服務的頁面顯示。
3.2 移動終端頁面顯示
移動終端數據的顯示是數據可視化過程的體現,來自于后端云的數據整理好以后,用可視化的方式呈現給用戶,這是農業信息服務數據傳輸的最后一個階段,在此階段中,除了文本數據的可視化以外,還有圖片數據的可視化,該農業信息服務系統比較注重數據顯示部分,可以吸引更多的用戶,促進農業信息服務的進一步推廣。
該農業信息服務系統數據的頁面顯示主要集中在移動終端的頁面顯示,通過對移動終端頁面上的數據的操作可以實現農業信息服務的數據可視化的過程,在移動終端的頁面上將來自于云平臺的數據分為2大類,分別是基本功能的數據和創新功能的數據,其中基本功能的數據主要是個人基本信息以及天氣預報和設置等功能的數據,創新功能的數據包括9個部分,分別是農業新聞、農業政策、農業技術、專家咨詢、農資商城、農產集市、農產溯源、交流討論和特別關注,如圖3所示。

圖3 主頁面顯示圖
農業信息服務是農業現代化建設過程中重要的部分[6-7],移動農業信息服務系統的設計與實現能夠滿足移動互聯網時代下人們對于農業信息的基本需求,該系統成功利用網絡爬蟲技術獲取到農業數據,完成了數據獲取、存儲到展示的全過程,可以得到以下結論:(1)網絡爬蟲獲取農業數據對于零散農業數據的收集具有一定的優越性;(2)Bmob移動云平臺可以簡化系統在數據庫和服務方面的難度;(3)移動終端顯示農業數據具有頁面美觀且易開發的特點。
[1] 楊 娜,錢金良,朱衛華,等. 國內外農業信息服務體系構建現狀及對云南省的啟示[J]. 農業網絡信息,2012,(6):84-87.
[2] 張 寧. 面向農業信息的主題爬蟲的研究與設計[D]. 北京:北京郵電大學,2010.
[3] 李 慧,何永賢,葉 云. 基于聚焦爬蟲的農業信息服務平臺設計與實現[J]. 天津農業科學,2016,22(10):60-63.
[4] 周 冉,高玉竹. Bmob云平臺在Android App開發中的應用[J].微型機與應用,2015,34(1):26-28.
[5] 張 波. 我國農業信息服務的現狀、問題及對策研究[D]. 長沙:湖南農業大學,2008.
[6] 裴新涌. 國外農業信息服務體系建設的啟示[J]. 農業圖書情報學刊,2015,27(1):154-158.
[7] 汪 斌,張云偉,劉 健,等. 一種面向農業信息主題網絡爬蟲的設計[J]. 安徽農業科學,2009,37(20):9699-9700.
(責任編輯:肖彥資)
Design and Implementation of Agricultural Information Service System Based On Web Crawler
SHEN Cong1,DAI Xiao-peng1,2,FAN Zhen-yu1
(1. College of Information Science and Technology, Hunan Agricultural University, Changsha 410128, PRC; 2. Orient Scient & Technology College, Hunan Agricultural University, Changsha 410128, PRC)
A set of mobile agriculture information service system is designed by using crawler technology, Bomb back end cloud and mobile application development technology. From agricultural data acquisition, agricultural data storage and agricultural data display to analyzed the process of data transmission processing of agricultural information service in the mobile system, obtained the conclusion of obtaining agricultural data through crawler technology, using Bmob mobile cloud platform to store agricultural data and visualization of agricultural data via mobile terminals had some advantages.
web crawler; Bmob cloud platform; agricultural information service
TP311
:A
:1006-060X(2017)06-0081-03
10.16498/j.cnki.hnnykx.2017.006.024
2017-04-05
湖南省教育廳科研項目(17k044,17A092)
申 聰(1996-),男,湖南永州市人,本科生,專業為計算機科學與技術。