5.2.1 基于互联网的网络爬虫工具

5.2.1 基于互联网的网络爬虫工具

1.工具概述

网络爬虫工具(又称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。其本质是一个自动提取网页的程序,它通过搜索引擎从互联网上下载网页,获取相应的数据资源。前文所述无论是政府内部信息资源中的政府网站还是政府外部信息资源的互联网信息资源,都需要使用网络爬虫工具按照一定规则将所需的信息资源汇聚到数据资源池中。

2.功能模块

网络爬虫工具的主要功能包括任务管理、资源管理、内容下载、数据抽取、数据回收等功能,如图5-2所示。

图5-2 网络爬虫工具功能图

(1)任务管理

采集任务是指对同一站点同种页面数据采集类型的归类,涉及采集的站点、采集种子信息、采集逻辑等相关信息。任务管理主要包括这些信息的管理和采集状态的管理,任务信息管理也称为任务编辑,就是将任务相关的信息构建成符合规范而且可由系统执行采集的基本单位。采集状态管理包括采集任务分发,任务执行状态回收,异常执行任务的识别及重试等。

(2)资源管理

资源管理是只对爬虫工具运行的硬件资源和软件资源的管理;硬件资源的管理包括服务器状态维护、采集终端状态管理、网络线路管理等。软件资源的管理包括IP资源的管理、代理IP的管理、网站登录账号的管理等。这些硬件资源是用于执行采集系统,保障系统的正常运行;而软件资源主要辅助采集系统更好地执行采集任务。

(3)内容下载

内容下载主要涉及请求提交方式,需要提交的内容,各个站点根据需要增加信息的信息。内容下载的实现方式,我们是通过Socket等基础网络编程实现的,这样方便对一些特殊需求的网页完成定制化配置。

(4)数据抽取

数据抽取在网络爬虫工具的研究中一直是一个难点——如何在更少的人为干预下处理新资源以及适应网站的改版等变化,提升系统的自适应能力。我们研发的网络爬虫工具数据抽取是通过下载内容的基本标准结构为基础来处理,比如HTML、XML、PDF、Excel等,根据需求到指定的位置获取指定的内容信息,使用了比如正则表达式、Xpath、E4X等技术。

(5)数据回收

数据回收指收集采集的内容并进行存储,采集的内容可以是抽取后的信息,也可以下载的原始网页、文档等。