admin 管理员组

文章数量: 1086019


2024年3月13日发(作者:overflowhtml)

A

gricultural Engineering Information

农业工程信息

DOI

:

10.16815/.11-5436/s.2021.03.008

网络爬虫技术在农业生产数据获取中的

研究和应用

王晓楠

1

,李 杨

1

,张海峰

1

,张 宇

2

,杨雪峰

1

(1.黑龙江省农业科学院农业遥感与信息研究所,黑龙江 哈尔滨 150086;

2.黑龙江省农业科学院作物资源研究所,黑龙江 哈尔滨 150086)

摘要:该文从各大网页中采集到农作物生长信息的数据,特征数据主要包括农作物生长信息、种植环境、生长周期

等。为了更好地完成网络爬取的任务,收集到更多符合条件的网页信息,该文主要运用架构方式实现农作物生长数据

的爬取,采用Nutch框架实现分布式网络爬虫,并运用二级哈希算法完成两次URL映射计算。实验结果表明,随着时

间的推移,相对于单机,分布式网络爬取能够获取更大的数据信息量,工作效率更高。

关键字:爬虫;分布式;Nutch框架;二级哈希

随着中国经济的快速发展,现代化农业也在不断地进步和发

展,高科技在农业领域中的投入也随之加大,目标就是转变传统农业

的生产模式。通过抓取农业生产数据,将更好的种植数据提供给广大

农业工作人员,对于解决现代农业种植过程中的问题非常有利。

1.1 分布式爬虫架构

网络爬虫主要是通过采集网络中特定信息为后续工作提供精

确的数据,因此,该论文运用垂直搜索引擎获取数据。为了更好

的完成网络爬取任务,收集到更多符合条件的网页信息,运用主

从分布式架构方式来实现对农作物生长信息数据的爬取,主从分

1 基于农作物生长信息的采集结构设计

布式架构主要包括了分节点的工作状态和监控以及URL的分发工

作等,分节点获得主节点分发的调度任务以后,完成调度任务中

课题名称:基于“网络爬虫”的数据智能获取技术研究

作者简介:王晓楠(1984-)女,黑龙江省宾县人,本科,计算机专业,主要研究

方向:数字农业、大数据采集与分折、系统研发、农业数据平台建设、信息技术在

农业领域的应用等。

的爬取工作,并且将爬取结果反馈给主节点。爬虫网络的主从结

构,如图1所示。

2021.01 农业信息化

>>

49

A

gricultural Engineering Information

农业工程信息

图1 分布式爬虫架构

1.2 分布式任务的优化调整

在分布式网络结构中,计算机并行化处理很关键,该论文运

用Nutch框架实现分布式网络爬虫。在农作物生长信息数据爬取

的过程中,主节点将所有带URL下载任务分配给不同的分节点进

行爬取。论文设计分布式下载任务调度中,将URL映射到服务器

上来完成下载的任务,计算公式如下:

(1)

上式中 表示即将分配任务的节点; 为构造哈

希函数; 是节点数量。

分布式网络伸缩性非常强,因此,只要节点数量发生变化,

就会导致对数据二次爬取,Nutch系统运用集中式分割方法解决上

述的问题主要是通过构建哈希函数来完成划分任务的工作。首先构

造Hash函数,第一次计算获得新的URL,并将其映射到表A中;接

下来对表A进行哈希映射,并将映射后的结果值划分给分节点中。

2.2 主题相关性判断

农作物生长信息数据的主题爬取,不仅要通过URL种子的

限定和过滤,还要判断主题的内容。所有网络爬取后获得URL列

表注入以后,此时parse Text文该文件就会自动生成,相关性判断

是基于parse Text文件采用向量模型来实现的,将任意的网页信息

都定义为空间向量,其中 表示当前网页的关键词, 表示关键

图2 URL种子抓取

2 采集农作物生长信息的流程

词 的权重,则两个向量间 的相关性采用余弦

值表示:

2.1 基于Nutch的URL过滤

为了提高爬取的效率,降低主题爬虫的工作量,最有效的方

式将URL的数目过滤和限定。所有的URL过滤规则,都是在conf

文件目录下,进行参数配置和过滤规则的设计,而非在源代码中

直接进行修改;接下来调取过滤规则,则是需要调用URLFilter子

类下的getConf()函数,流程如图2所示,通过上述方式就能够更加

便捷地实现过滤规则的修改。

(2)

上式中 为主题向量, 为网页向量。

2.3 信息抽取

通过定义信息抽取模板,就能够实现大部分类型网页的提

取,再将 HTMLPsrser解析库加载,将提取到的多种类型网页编写

为相对应的页面进行解析方法,从特定的文件中提取到农作物生

长信息数据以后,匹配URL,调用相对应的解析模板,完成相关

50

<<

农业信息化 2021.01

网页的解析工作。具体的流程如下:

(1)构建解析网页信息模板,将不同类型的网页信息分类

以后,编写相对应的解析信息模板;

(2)将下载的URL与模板信息库进行匹配,此时将信息URL

种子注入以后,通过对比和分析以后,匹配对应的解析模板;

(3)抽取解析后网页中的信息,并在特定的文件中存储所

有的文本信息。

3 结果分析

相关网络爬虫模板和信息提取流程完成以后,接下来就是优

化测试分布式网络爬虫的性能,以此来验证其是否具备一定的优

势。该论文通过对比,分析分布式爬虫网络和单机网络爬虫的数

量和时间性能。

首先,阐述分布式网络爬虫结构的软硬件,如表1、表2

所示。

表1 计算机软件配置

软件版本说明

Nutch1.7开源的完整搜索引擎框架

Hadoop2.3分布式大计算框架平台

Lucene2.9.1项目框架

cygwinUNIX模拟软件

表2 集群配置

CPU宽带内存IP地址

计算机12.3GHz100M8G192.168.129.1

计算机22.3GHz10M4G192.168.142.1

计算机32.3GHz10M4G121.42.177.242

计算机32.3GHz10M4G121.41.117.212

通过测试,分布式爬取和单机采集数据量在规定的时间内进

行统计,具体如表3所示,记录了不同时间段爬虫抓取获得的信

息量。

表3 采取数据量统计表

爬取时间(min)单机爬取分布式爬取

1123116

5765810

1011823983

3054329865

6

A

gricultural Engineering Information

农业工程信息

图4 统计对比图

通过分析可以知道,当时间段比较小时,分布式爬取数量并

没有太大的差异。随着时间的增长和数据量递增以后,分布式网

络爬取能够将更大的数据信息量获得。

4 总结

在大数据时代,为了更好的完成网络爬取任务,收集到更多

符合条件的网页信息,该论文运用了分布式网络爬虫技术。在分

布式集群中,各个计算机都是并行执行的,这就会涉及到资源调

配问题,因此,当网络规模扩大到一定程度以后,集中式分割方

式会导致整体运行速率降低等相关问题,研究表明,运用二级哈

希算法来解决该问题,可使整体的负载均衡效率更好,提高数据

采集效率。

参考文献:

[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.

[引用信息] 王晓楠,李 杨,张海峰,等.网络爬虫技术在农业生产数据获取中的

研究和应用[J] .农业工程技术,2021,41(3): 49-51.

2021.01 农业信息化

>>

51


本文标签: 信息 农业 网络 爬虫 分布式