申 聰,戴小鵬,2,樊振宇
(1. 湖南農(nóng)業(yè)大學(xué)信息科學(xué)與技術(shù)學(xué)院,湖南 長沙 410128;2. 湖南農(nóng)業(yè)大學(xué)東方科技學(xué)院,湖南 長沙 410128)
基于網(wǎng)絡(luò)爬蟲的移動農(nóng)業(yè)信息服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)
申 聰1,戴小鵬1,2,樊振宇1
(1. 湖南農(nóng)業(yè)大學(xué)信息科學(xué)與技術(shù)學(xué)院,湖南 長沙 410128;2. 湖南農(nóng)業(yè)大學(xué)東方科技學(xué)院,湖南 長沙 410128)
應(yīng)用網(wǎng)絡(luò)爬蟲技術(shù)、Bomb后端云和移動應(yīng)用開發(fā)技術(shù)設(shè)計了一套移動農(nóng)業(yè)信息服務(wù)系統(tǒng)。從農(nóng)業(yè)數(shù)據(jù)獲取、農(nóng)業(yè)數(shù)據(jù)存儲和農(nóng)業(yè)數(shù)據(jù)顯示3個方面分析了移動農(nóng)業(yè)信息服務(wù)系統(tǒng)中數(shù)據(jù)傳輸處理的過程,得到了通過網(wǎng)絡(luò)爬蟲技術(shù)獲取農(nóng)業(yè)數(shù)據(jù),借助Bmob移動云平臺存儲農(nóng)業(yè)數(shù)據(jù)和通過移動終端將農(nóng)業(yè)數(shù)據(jù)可視化具有一定優(yōu)勢的結(jié)論。
網(wǎng)絡(luò)爬蟲;Bmob云平臺;農(nóng)業(yè)信息服務(wù)
目前,我國農(nóng)村農(nóng)業(yè)發(fā)展處于新時期的平穩(wěn)發(fā)展階段,推動農(nóng)業(yè)信息服務(wù)體系的建設(shè),是農(nóng)業(yè)信息化發(fā)展的重要保障,也是建設(shè)現(xiàn)代農(nóng)業(yè)的必要選擇[1],隨著科技的進步和互聯(lián)網(wǎng)時代的到來,我們國家也正在改變農(nóng)業(yè)信息的風貌,在依靠傳統(tǒng)報紙廣播傳播農(nóng)業(yè)信息的狀態(tài)下,增加了農(nóng)業(yè)網(wǎng)站等新的傳播形式,無論是在技術(shù)上還是信息的數(shù)據(jù)量上都有較大的提升。傳統(tǒng)的農(nóng)業(yè)信息獲取方法雖然來源渠道較多,數(shù)據(jù)量較大,但是不能很好的收集和歸納,而且收集的問題也會隨著數(shù)據(jù)量和復(fù)雜程度的增加而變得更加難以收集和處理,因此,傳統(tǒng)的農(nóng)業(yè)信息獲取方式急需改變。目前,農(nóng)業(yè)相關(guān)網(wǎng)站高達數(shù)10萬個,農(nóng)業(yè)信息的數(shù)據(jù)量亦是呈指數(shù)增長,農(nóng)業(yè)信息涉及范圍廣,因此,在大量數(shù)據(jù)中如何檢索有效信息是農(nóng)業(yè)信息服務(wù)的重點。筆者研究農(nóng)業(yè)信息從獲取、存儲到顯示的過程,用網(wǎng)絡(luò)爬蟲、Bomb后端云和移動應(yīng)用開發(fā)技術(shù)設(shè)計移動農(nóng)業(yè)信息服務(wù)系統(tǒng),為互聯(lián)網(wǎng)時代下農(nóng)業(yè)信息可視化的服務(wù)系統(tǒng)的開發(fā)提供參考。
1.1 網(wǎng)絡(luò)爬蟲的基本原理
網(wǎng)絡(luò)爬蟲的原理主要涉及到2種基本的算法,即深度優(yōu)先算法和廣度優(yōu)先算法[2],深度優(yōu)先算法在是從初始網(wǎng)頁的一個鏈接出發(fā),根據(jù)此鏈接的URL地址,繼續(xù)進行到下一個網(wǎng)頁,再從下一個頁面的鏈接繼續(xù)深入,直到找到所需數(shù)據(jù)為止,此算法適合于當前頁面可獲取數(shù)據(jù)較少但多層的情況,可以利用此算法加快數(shù)據(jù)的獲取速度;廣度優(yōu)先算法是把初始頁面中的所有鏈接訪問一遍,如果沒有想要的數(shù)據(jù),再繼續(xù)深入到第二層頁面的鏈接,然后第二層頁面的所有鏈接都訪問一遍再繼續(xù)深入,以此類推,直到找到想要的數(shù)據(jù)后返回,廣度優(yōu)先算法是適合于所需數(shù)據(jù)在當前頁面,或者數(shù)據(jù)在當前頁面的鏈接深度較少的頁面的情況,因為此算法對搜索深度較小頁面的數(shù)據(jù)的獲取具有較大的優(yōu)勢,如圖1。
1.2 網(wǎng)絡(luò)爬蟲的工作流程
網(wǎng)絡(luò)爬蟲在農(nóng)業(yè)信息數(shù)據(jù)的收集過程中扮演重要角色。爬蟲工作主要利用Phthon語言從初始URL開始,進入當前頁面,獲取當前頁面的數(shù)據(jù),通過當前頁面的數(shù)據(jù)的收集與處理,從中提取出有價值的信息,這些信息能及時反饋給系統(tǒng),為下一次URL的選擇提供參考的依據(jù),第二次選擇URL后進入下一級頁面,獲取下一級頁面的數(shù)據(jù),根據(jù)獲得的數(shù)據(jù)判斷是否已經(jīng)滿足停止的條件,不滿足則繼續(xù)按照上述方法繼續(xù)尋找下一級URL,如此循環(huán)反復(fù),直到搜集的數(shù)據(jù)已經(jīng)能夠滿足用戶的需求[3],如圖2。
圖1 網(wǎng)絡(luò)爬蟲的基本算法
圖2 網(wǎng)絡(luò)爬蟲工作流程圖
根據(jù)網(wǎng)絡(luò)爬蟲的基本原理和流程,網(wǎng)絡(luò)爬蟲無論是采取深度優(yōu)先還是廣度優(yōu)先算法,都是以滿足爬蟲的要求和條件結(jié)束,該條件包括已經(jīng)或得準確的農(nóng)業(yè)數(shù)據(jù)或者已經(jīng)搜索完全該頁面中所有數(shù)據(jù)以及下一級鏈接中所有數(shù)據(jù),因此,采用此方法獲取農(nóng)業(yè)數(shù)據(jù)具有準確和無遺漏的特點,這是網(wǎng)絡(luò)爬蟲獲取農(nóng)業(yè)數(shù)據(jù)的主要優(yōu)越性。
2.1 Bmob云平臺的搭建
農(nóng)業(yè)數(shù)據(jù)存儲在Bmob云平臺上面[4],Bmob云平臺是一款為手機移動終端提供數(shù)據(jù)存儲的一個云數(shù)據(jù)庫,利用Bmob提供的SDK,在手機Android應(yīng)用開發(fā)中為手機APP提供數(shù)據(jù),可以實現(xiàn)數(shù)據(jù)的上傳和下載,下載好SDK后需要獲取密鑰Application ID,在Project 的 build.gradle 文件中添加 Bmob的maven倉庫地址:
<uses-permission android:name="android.permission. INTERNET" />
初始化BmobSDK,在主頁面的主函數(shù)里面加入下面代碼:
Bmob.initialize(this, "Your Application ID");
搭建完成后就可以實現(xiàn)對Bmob云平臺的訪問。
2.2 數(shù)據(jù)的管理
Bmob云品臺的管理工作主要是針對于數(shù)據(jù)的增刪改查,此數(shù)據(jù)是指簡單的字符數(shù)據(jù)和包括音頻文件、圖片文件和視頻文件在內(nèi)的文件數(shù)據(jù),Bmob云平臺不僅僅是數(shù)據(jù)的存儲的作用,還有對上傳和下載的功能,這些功能的存在避免了關(guān)系型數(shù)據(jù)庫的繁瑣和減少了搭建服務(wù)器高額的費用,為移動應(yīng)用開發(fā)人員提供了方便,后臺管理人員可以借助于這些功能,根據(jù)Bmob在線操作手冊實現(xiàn)移動終端或者Web端直接操作云平臺,因此,在Bmob云平臺上面的數(shù)據(jù)管理具有簡單易操作的特點,為移動終端的手機應(yīng)用開發(fā)提供了良好的后臺保障。
3.1 移動終端數(shù)據(jù)的獲取
現(xiàn)在信息技術(shù)已經(jīng)成為科技競爭的重要資源[5],信息技術(shù)發(fā)展到一定的階段后會演變成數(shù)據(jù)的競爭,數(shù)據(jù)的概念逐漸深入人心。該農(nóng)業(yè)信息服務(wù)系統(tǒng)最重要的是數(shù)據(jù)的處理和傳輸,因此在數(shù)據(jù)的頁面顯示部分應(yīng)用了較多的技術(shù)和較難的處理方法。
數(shù)據(jù)的獲取是基于網(wǎng)絡(luò)爬蟲的農(nóng)業(yè)信息服務(wù)系統(tǒng)頁面顯示的關(guān)鍵一步,從Bmob云平臺上獲取到農(nóng)業(yè)信息服務(wù)的數(shù)據(jù),移動終端建立起與Bmob云平臺的連接可實現(xiàn)對Bmob中的數(shù)據(jù)的操作,通過Android移動應(yīng)用開發(fā)的技術(shù)對數(shù)據(jù)進行處理和加工,將Bmob端的數(shù)據(jù)接收到移動終端以后可以實現(xiàn)農(nóng)業(yè)信息服務(wù)的頁面顯示。
3.2 移動終端頁面顯示
移動終端數(shù)據(jù)的顯示是數(shù)據(jù)可視化過程的體現(xiàn),來自于后端云的數(shù)據(jù)整理好以后,用可視化的方式呈現(xiàn)給用戶,這是農(nóng)業(yè)信息服務(wù)數(shù)據(jù)傳輸?shù)淖詈笠粋€階段,在此階段中,除了文本數(shù)據(jù)的可視化以外,還有圖片數(shù)據(jù)的可視化,該農(nóng)業(yè)信息服務(wù)系統(tǒng)比較注重數(shù)據(jù)顯示部分,可以吸引更多的用戶,促進農(nóng)業(yè)信息服務(wù)的進一步推廣。
該農(nóng)業(yè)信息服務(wù)系統(tǒng)數(shù)據(jù)的頁面顯示主要集中在移動終端的頁面顯示,通過對移動終端頁面上的數(shù)據(jù)的操作可以實現(xiàn)農(nóng)業(yè)信息服務(wù)的數(shù)據(jù)可視化的過程,在移動終端的頁面上將來自于云平臺的數(shù)據(jù)分為2大類,分別是基本功能的數(shù)據(jù)和創(chuàng)新功能的數(shù)據(jù),其中基本功能的數(shù)據(jù)主要是個人基本信息以及天氣預(yù)報和設(shè)置等功能的數(shù)據(jù),創(chuàng)新功能的數(shù)據(jù)包括9個部分,分別是農(nóng)業(yè)新聞、農(nóng)業(yè)政策、農(nóng)業(yè)技術(shù)、專家咨詢、農(nóng)資商城、農(nóng)產(chǎn)集市、農(nóng)產(chǎn)溯源、交流討論和特別關(guān)注,如圖3所示。
圖3 主頁面顯示圖
農(nóng)業(yè)信息服務(wù)是農(nóng)業(yè)現(xiàn)代化建設(shè)過程中重要的部分[6-7],移動農(nóng)業(yè)信息服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)能夠滿足移動互聯(lián)網(wǎng)時代下人們對于農(nóng)業(yè)信息的基本需求,該系統(tǒng)成功利用網(wǎng)絡(luò)爬蟲技術(shù)獲取到農(nóng)業(yè)數(shù)據(jù),完成了數(shù)據(jù)獲取、存儲到展示的全過程,可以得到以下結(jié)論:(1)網(wǎng)絡(luò)爬蟲獲取農(nóng)業(yè)數(shù)據(jù)對于零散農(nóng)業(yè)數(shù)據(jù)的收集具有一定的優(yōu)越性;(2)Bmob移動云平臺可以簡化系統(tǒng)在數(shù)據(jù)庫和服務(wù)方面的難度;(3)移動終端顯示農(nóng)業(yè)數(shù)據(jù)具有頁面美觀且易開發(fā)的特點。
[1] 楊 娜,錢金良,朱衛(wèi)華,等. 國內(nèi)外農(nóng)業(yè)信息服務(wù)體系構(gòu)建現(xiàn)狀及對云南省的啟示[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息,2012,(6):84-87.
[2] 張 寧. 面向農(nóng)業(yè)信息的主題爬蟲的研究與設(shè)計[D]. 北京:北京郵電大學(xué),2010.
[3] 李 慧,何永賢,葉 云. 基于聚焦爬蟲的農(nóng)業(yè)信息服務(wù)平臺設(shè)計與實現(xiàn)[J]. 天津農(nóng)業(yè)科學(xué),2016,22(10):60-63.
[4] 周 冉,高玉竹. Bmob云平臺在Android App開發(fā)中的應(yīng)用[J].微型機與應(yīng)用,2015,34(1):26-28.
[5] 張 波. 我國農(nóng)業(yè)信息服務(wù)的現(xiàn)狀、問題及對策研究[D]. 長沙:湖南農(nóng)業(yè)大學(xué),2008.
[6] 裴新涌. 國外農(nóng)業(yè)信息服務(wù)體系建設(shè)的啟示[J]. 農(nóng)業(yè)圖書情報學(xué)刊,2015,27(1):154-158.
[7] 汪 斌,張云偉,劉 健,等. 一種面向農(nóng)業(yè)信息主題網(wǎng)絡(luò)爬蟲的設(shè)計[J]. 安徽農(nóng)業(yè)科學(xué),2009,37(20):9699-9700.
(責任編輯:肖彥資)
Design and Implementation of Agricultural Information Service System Based On Web Crawler
SHEN Cong1,DAI Xiao-peng1,2,F(xiàn)AN 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-),男,湖南永州市人,本科生,專業(yè)為計算機科學(xué)與技術(shù)。