云环境中Web信息抓取技术的研究及应用

2018-11-19 07:30王仕艳
通信电源技术 2018年9期
关键词:网页框架用户

王仕艳

(川北幼儿师范高等专科学校,四川 广元628000)

目前互联网中的数据还存在更新换代快、推送慢影响消息利用率、客户获得数据速度慢等问题[1-3]。而云时代下信息具有传播速度快、数据集中管理、批量传送数据等特点,同时还支持个性化服务,根据这些特点为用户推送出满足需求的数据信息,可提高数据信息的利用率。

当前的数据抓取技术有多种,其中hadoop云平台框架被广泛使用,但是这些技术多以java技术实现[4-5]。面对快速系统开发时java语言不太能满足,为此本文以C#语言作为系统开发语言使用开源nwebcrawler框架作为数据采集工具。

1 系统需求分析

互联网中包含大量信息,如何获取这些信息加以使用能够给企业、个人提供更多的信息资源从而增加企业竞争和个人信息获取来源。信息获取大多来源于网站,由于行业、服务对象等不同造成网站有多种形式。如何获取不同类别网站的信息是当前面临问题。段青玲等文献对农业网络信息进行了获取[4],文献[6]对海上信息进行了获取,他们对不同的网站信息进行了不同的获取信息开发,这样增加了获取信息的成本。为解决这一问题,本文提出了一种通用网站信息获取系统开发。系统功能主要有:(1)系统登录管理,该功能用于权限管理,保障用户信息安全。(2)系统配置管理,该功能用于抓取数据规则配置、数据管理等。(3)数据抓取管理,根据配置信息进行数据抓取。(4)数据存储管理,由于抓取的数据量比较大需要对数据进行备份、还原等管理。系统用户主要有:系统管理员、普通用户两类,系统管理员对系统管理,普通用户进行相应的数据抓取管理。如图1为系统总体用例图。

图1 系统总体用例图

2 系统设计

2.1 系统总体设计

Web信息抓取平台主要由三部分组成:数据源、数据采集以及数据分析,如图2所示。在数据源中包含了多种类型的网站,这些网站提供采集信息;此外系统还配置有txt、xml、sqlite以及excel文件,这些文件用于存储采集信息、配置信息等。数据采集功能有:抓取、抽取、分类等。信息服务中主要进行信息发布、信息查询、信息推荐、数据管理、收费管理等。

2.2 系统关键技术

在云环境下数据采集目的是方便用户快速查询信息,系统关键技术有:数据采集、数据抽取、数据分类、数据查询等。下文详细分析系统关键技术。

2.2.1 网站采集数据

Web数据采集主要是从Web上获取网站网页,将网页保存在文档中,并将文档中的信息提取出来。为提高系统开发效率,本文使用C#语言进行网站数据采集系统开发,该语言具有简单、易用特征,非常适合快速系统开发。当前网站数据采集框架有多种,比如:WebCollector、Nutch、nwebcrawler等[7-8]。本 文选择nwebcrawler框架作为网站采集数据框架,该框架具有源代码开发、性能优越等特点。如图3为网站采集活动图。

图2 系统总体设计

2.2.2 数据抽取技术

在C#网站数据抽取的类有:WebClient、Web-Browser、HttpWebRequest。本系统使用nwebcrawler框架、WebClient、WebBrowser进行数据采集开发。数据抽取是系统核心技术。如下为网站数据抽取部分核心代码。

//获取网页中所有的<td...></td>标签

HtmlElementCollection htmlCol = webBrowser1.Document.GetElementsByTagName("td");

if(htmlCol.Count<4)

return;

//根据网页源代码可以知道前四个是标题

//设置表格标题

dataGridView1.ColumnCount=4;

dataGridView1.Columns[0].Name = htmlCol[0].InnerText;

dataGridView1.Columns[1].Name = htmlCol[1].InnerText;

dataGridView1.Columns[2].Name = htmlCol[2].InnerText;

dataGridView1.Columns[3].Name = htmlCol[3].InnerText;

dataGridView1.Rows.Clear();

//从第四个即标题后面开始四个一行加入列表中

for(int i=4;i<htmlCol.Count &&i+4<htmlCol.Count;i+=4)

dataGridView1.Rows.Add(new string[]{htmlCol[i].InnerText,htmlCol[i+1].InnerText

htmlCol[i+2].InnerText,htmlCol[i+3].Inner-Text});

2.3 数据库设计

Web信息抓取系统中使用数据库有两类:一类是SQLite数据库用于存储相应的参数;一类是网络数据库Mysql。在信息抓取系统中包含的数据表有:用户权限表、信息存储表、参数配置表等。

(1)用户权限表。该表用于存储用户权限信息,包含的字段有:权限ID、权限内容、用户名、用户ID、用户密码等,表1为详细说明。

表1 用户权限表

(2)参数信息表。该表用于存储系统参数信息,包含的字段有:参数ID、参数名、参数内容、参数大小、参数时间、备注等。表2为参数信息详细说明。

表2 参数信息表

3 系统实现

本文系统使用B/S模式进行开发。由于系统功能较多,本文只列举网站数据采集创建过程。用户需要在界面中输入网址规则、下载深度、网址过滤(使用正则表达式)、重复下载网址过滤、下载参数设置、网页数据设置、javascript引擎设置、登录设置、基本信息设置等。图4为网站数据采集创建界面。

图4 网站数据采集创建界面

4 结 论

本文构建了Web信息抓取系统,实现了Web信息采集,主要结论为:系统实现了数据采集、数据抽取、数据分类,用户可在界面中输入相应的信息进行数据采集,提高了系统的复用性。

猜你喜欢
网页框架用户
有机框架材料的后合成交换
框架
基于HTML5与CSS3的网页设计技术研究
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
基于URL和网页类型的网页信息采集研究
关注用户
关注用户
关注用户
关于原点对称的不规则Gabor框架的构造