基于网络爬虫的移动农业信息服务系统的设计与实现
2017-08-07戴小鹏樊振宇
申 聪,戴小鹏,2,樊振宇
(1. 湖南农业大学信息科学与技术学院,湖南 长沙 410128;2. 湖南农业大学东方科技学院,湖南 长沙 410128)
基于网络爬虫的移动农业信息服务系统的设计与实现
申 聪1,戴小鹏1,2,樊振宇1
(1. 湖南农业大学信息科学与技术学院,湖南 长沙 410128;2. 湖南农业大学东方科技学院,湖南 长沙 410128)
应用网络爬虫技术、Bomb后端云和移动应用开发技术设计了一套移动农业信息服务系统。从农业数据获取、农业数据存储和农业数据显示3个方面分析了移动农业信息服务系统中数据传输处理的过程,得到了通过网络爬虫技术获取农业数据,借助Bmob移动云平台存储农业数据和通过移动终端将农业数据可视化具有一定优势的结论。
网络爬虫;Bmob云平台;农业信息服务
目前,我国农村农业发展处于新时期的平稳发展阶段,推动农业信息服务体系的建设,是农业信息化发展的重要保障,也是建设现代农业的必要选择[1],随着科技的进步和互联网时代的到来,我们国家也正在改变农业信息的风貌,在依靠传统报纸广播传播农业信息的状态下,增加了农业网站等新的传播形式,无论是在技术上还是信息的数据量上都有较大的提升。传统的农业信息获取方法虽然来源渠道较多,数据量较大,但是不能很好的收集和归纳,而且收集的问题也会随着数据量和复杂程度的增加而变得更加难以收集和处理,因此,传统的农业信息获取方式急需改变。目前,农业相关网站高达数10万个,农业信息的数据量亦是呈指数增长,农业信息涉及范围广,因此,在大量数据中如何检索有效信息是农业信息服务的重点。笔者研究农业信息从获取、存储到显示的过程,用网络爬虫、Bomb后端云和移动应用开发技术设计移动农业信息服务系统,为互联网时代下农业信息可视化的服务系统的开发提供参考。
1 网络爬虫的原理和流程
1.1 网络爬虫的基本原理
网络爬虫的原理主要涉及到2种基本的算法,即深度优先算法和广度优先算法[2],深度优先算法在是从初始网页的一个链接出发,根据此链接的URL地址,继续进行到下一个网页,再从下一个页面的链接继续深入,直到找到所需数据为止,此算法适合于当前页面可获取数据较少但多层的情况,可以利用此算法加快数据的获取速度;广度优先算法是把初始页面中的所有链接访问一遍,如果没有想要的数据,再继续深入到第二层页面的链接,然后第二层页面的所有链接都访问一遍再继续深入,以此类推,直到找到想要的数据后返回,广度优先算法是适合于所需数据在当前页面,或者数据在当前页面的链接深度较少的页面的情况,因为此算法对搜索深度较小页面的数据的获取具有较大的优势,如图1。
1.2 网络爬虫的工作流程
网络爬虫在农业信息数据的收集过程中扮演重要角色。爬虫工作主要利用Phthon语言从初始URL开始,进入当前页面,获取当前页面的数据,通过当前页面的数据的收集与处理,从中提取出有价值的信息,这些信息能及时反馈给系统,为下一次URL的选择提供参考的依据,第二次选择URL后进入下一级页面,获取下一级页面的数据,根据获得的数据判断是否已经满足停止的条件,不满足则继续按照上述方法继续寻找下一级URL,如此循环反复,直到搜集的数据已经能够满足用户的需求[3],如图2。
图1 网络爬虫的基本算法
图2 网络爬虫工作流程图
根据网络爬虫的基本原理和流程,网络爬虫无论是采取深度优先还是广度优先算法,都是以满足爬虫的要求和条件结束,该条件包括已经或得准确的农业数据或者已经搜索完全该页面中所有数据以及下一级链接中所有数据,因此,采用此方法获取农业数据具有准确和无遗漏的特点,这是网络爬虫获取农业数据的主要优越性。
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 农业信息的显示
3.1 移动终端数据的获取
现在信息技术已经成为科技竞争的重要资源[5],信息技术发展到一定的阶段后会演变成数据的竞争,数据的概念逐渐深入人心。该农业信息服务系统最重要的是数据的处理和传输,因此在数据的页面显示部分应用了较多的技术和较难的处理方法。
数据的获取是基于网络爬虫的农业信息服务系统页面显示的关键一步,从Bmob云平台上获取到农业信息服务的数据,移动终端建立起与Bmob云平台的连接可实现对Bmob中的数据的操作,通过Android移动应用开发的技术对数据进行处理和加工,将Bmob端的数据接收到移动终端以后可以实现农业信息服务的页面显示。
3.2 移动终端页面显示
移动终端数据的显示是数据可视化过程的体现,来自于后端云的数据整理好以后,用可视化的方式呈现给用户,这是农业信息服务数据传输的最后一个阶段,在此阶段中,除了文本数据的可视化以外,还有图片数据的可视化,该农业信息服务系统比较注重数据显示部分,可以吸引更多的用户,促进农业信息服务的进一步推广。
该农业信息服务系统数据的页面显示主要集中在移动终端的页面显示,通过对移动终端页面上的数据的操作可以实现农业信息服务的数据可视化的过程,在移动终端的页面上将来自于云平台的数据分为2大类,分别是基本功能的数据和创新功能的数据,其中基本功能的数据主要是个人基本信息以及天气预报和设置等功能的数据,创新功能的数据包括9个部分,分别是农业新闻、农业政策、农业技术、专家咨询、农资商城、农产集市、农产溯源、交流讨论和特别关注,如图3所示。
图3 主页面显示图
4 结 语
农业信息服务是农业现代化建设过程中重要的部分[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-),男,湖南永州市人,本科生,专业为计算机科学与技术。