49
2021.01 农业信息化>>
农业工程信息
gricultural Engineering Information
A
网络爬虫技术在农业生产数据获取中的研究和应用
摘要:该文从各大网页中采集到农作物生长信息的数据,特征数据主要包括农作物生长信息、种植环境、生长周期等。为了更好地完成网络爬取的任务,收集到更多符合条件的网页信息,该文主要运用架构方式实现农作物生长数据的爬取,采用Nutch框架实现分布式网络爬虫,并运用二级哈希算法完成两次URL映射计算。实验结果表明,随着时间的推移,相对于单机,分布式网络爬取能够获取更大的数据信息量,工作效率更高。关键字:爬虫;分布式;Nutch框架;二级哈希
excel小数点向上取整随着中国经济的快速发展,现代化农业也在不断地进步和发展,高科技在农业领域中的投入也随之加大,目标就是转变传统农业的生产模式。通过抓取农业生产数据,将更好的种植数据提供给广大农业工作人员,对于解决现代农业种植过程中的问题非常有利。
1 基于农作物生长信息的采集结构设计
王晓楠1,李 杨1,张海峰1,张 宇2,杨雪峰1
(1.黑龙江省农业科学院农业遥感与信息研究所,黑龙江 哈尔滨 150086; 2.黑龙江省农业科学院作物资源研究所,黑龙江 哈尔滨 150086)
1.1 分布式爬虫架构
rowspan 2网络爬虫主要是通过采集网络中特定信息为后续工作提供精确的数据,因此,该论文运用垂直搜索引擎获取数据。为了更好的完成网络爬取任务,收集到更多符合条件的网页信息,运用主从分布式架构方式来实现对农作物生长信息数据的爬取,主从分
布式架构主要包括了分节点的工作状态和监控以及URL的分发工作等,分节点获得主节点分发的调度任务以后,完成调度任务中
的爬取工作,并且将爬取结果反馈给主节点。爬虫网络的主从结构,如图1所示。
DOI :10.16815/jki.11-5436/s.2021.03.008
课题名称:基于“网络爬虫”的数据智能获取技术研究
作者简介:王晓楠(1984-)女,黑龙江省宾县人,本科,计算机专业,主要研究方向:数字农业、大数据采集与分折、系统研发、农业数据平台建设、信息技术在农业领域的应用等。
农业工程信息
gricultural Engineering Information
A
50农业信息化 2021.01
<<1.2 分布式任务的优化调整
在分布式网络结构中,计算机并行化处理很关键,该论文运用Nutch框架实现分布式网络爬虫。在农作物生长信息数据爬取的过程中,主节点将所有带URL下载任务分配给不同的分节点进行爬取。论文设计分布式下载任务调度中,将URL映射到服务器上来完成下载的任务,计算公式如下:
(1)上式中 表示即将分配任务的节点; 为构造哈希函数; 是节点数量。
分布式网络伸缩性非常强,因此,只要节点数量发生变化,就会导致对数据二次爬取,Nutch系统运用集中式分割方法解决上述的问题主要是通过构建哈希函数来完成划分任务的工作。首先构造Hash函数,第一次计算获得新的URL,并将其映射到表A中;接下来对表A进行哈希映射,并将映射后的结果值划分给分节点中。
2 采集农作物生长信息的流程
2.1 基于Nutch的URL过滤
oralce卸载为了提高爬取的效率,降低主题爬虫的工作量,最有效的方式将URL的数目过滤和限定。所有的URL过滤规则,都是在conf 文件目录下,进行参数配置和过滤规则的设计,而非在源代码中直接进行修改;接下来调取过滤规则,则是需要调用URLFilter子类下的getConf()函数,流程如图2所示,通过上述方式就能够更加
便捷地实现过滤规则的修改。
图1 分布式爬虫架构
图2 URL
种子抓取
2.2 主题相关性判断
农作物生长信息数据的主题爬取,不仅要通过URL种子的限定和过滤,还要判断主题的内容。所有网络爬取后获得URL列表注入以后,此时parse Text文该文件就会自动生成,相关性判断是基于parse Text文件采用向量模型来实现的,将任意的网页信息都定义为空间向量,其中 表示当前网页的关键词, 表示关键
词 的权重,则两个向量间 的相关性采用余弦值表示:
(2)上式中 为主题向量, 为网页向量。2.3 信息抽取
通过定义信息抽取模板,就能够实现大部分类型网页的提取,再将 HTMLPsrser解析库加载,将提取到的多种类型网页编写为相对应的页面进行解析方法,从特定的文件中提取到农作物生长信息数据以后,匹配URL,调用相对应的解析模板,完成相关
51
2021.01 农业信息化>>
农业工程信息
gricultural Engineering Information
A
[引用信息] 王晓楠,李 杨,张海峰,等.网络爬虫技术在农业生产数据获取中的研究和应用[J] .农业工程技术,2021,41(3): 49-51.
参考文献:
[1]胡正雨.基于Python的网络爬虫技术研究[J].科技风,2020(20):102.[2]熊慧芳.网络爬虫关键技术的应用探讨[J ].计算机产品与流通,2019(09):171.
[3]申聪,戴小鹏,樊振宇.基于网络爬虫的移动农业信息服务系统的设计与实现[J].湖南农业科学,2017(06):81-83+87.
[4]李慧,何永贤,叶云.基于聚焦爬虫的农业信息服务平台设计与实现[J].天津农业科学,2016,22(10):60-63.
[5]吴菊英,贾炅昊,冯秀芳.基于农业领域的网络爬虫[J].电脑开发与应用,2012,25(08):30-32.
[6]汪斌,张云伟,刘健,陈晶.一种面向农业信息主题网络爬虫的设计[J].安徽农业科学,2009,37(20):9699-9700+9824.
表1 计算机软件配置
表3 采取数据量统计表
图4 统计对比图
表2 集配置
网页的解析工作。具体的流程如下:
(1)构建解析网页信息模板,将不同类型的网页信息分类以后,编写相对应的解析信息模板;
(2)将下载的URL与模板信息库进行匹配,此时将信息URL 种子注入以后,通过对比和分析以后,匹配对应的解析模板;
(3)抽取解析后网页中的信息,并在特定的文件中存储所有的文本信息。
3 结果分析
相关网络爬虫模板和信息提取流程完成以后,接下来就是优化测试分布式网络爬虫的性能,以此来验证其是否具备一定的优势。该论文通过对比,分析分布式爬虫网络和单机网络爬虫的数量和时间性能。
首先,阐述分布式网络爬虫结构的软硬件,如表1、表2所示。
软件版本说明
Nutch 1.7开源的完整搜索引擎框架Hadoop 2.3分布式大计算框架平台
Lucene 2.9.1项目框架cygwindesigndoll安装
UNIX
模拟软件
sql数据库的基本语句CPU
宽带内存IP 地址计算机1 2.3GHz 100M 8G 192.168.129.1计算机2 2.3GHz 10M 4G 192.168.142.1
计算机3 2.3GHz 10M 4G 121.42.177.242计算机3
2.3GHz
10M
4G
爬虫软件 app121.41.117.212
通过测试,分布式爬取和单机采集数据量在规定的时间内进
行统计,具体如表3所示,记录了不同时间段爬虫抓取获得的信息量。
爬取时间(min)
单机爬取分布式爬取
112311657658101011823983305432986560
8965
21654
通过分析可以知道,当时间段比较小时,分布式爬取数量并
没有太大的差异。随着时间的增长和数据量递增以后,分布式网络爬取能够将更大的数据信息量获得。
4 总结
在大数据时代,为了更好的完成网络爬取任务,收集到更多
符合条件的网页信息,该论文运用了分布式网络爬虫技术。在分布式集中,各个计算机都是并行执行的,这就会涉及到资源调配问题,因此,当网络规模扩大到一定程度以后,集中式分割方式会导致整体运行速率降低等相关问题,研究表明,运用二级哈希算法来解决该问题,可使整体的负载均衡效率更好,提高数据采集效率。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论