浅谈基于C#的网络类垂直搜索引擎 数据采集技术

2014-08-08 05:57李保玉
企业导报 2014年7期
关键词:数据采集

李保玉

摘要:该文设计和实现的基于C#的网络类垂直搜索引擎数据采集,采用高效的URL去重,避免了数据的重复。本文剖析了网络垂直搜索引擎中数据采集的基本方法和运行机制,并通过程序设计现实了垂直搜索引擎数据的采集。

关键词:垂直搜素引擎;数据采集;C#;正则提取一、背景与研究意义

(一)研究背景。互联网发展十余年,在这十余年的市场培育,发展的方向始终跟随者web用户的脚步,用户希望能有一种软件能在一定区域上对信息的智能采集和加工,从而来提高工作效率,因此采集技术在不断的更新,采集软件也随之备受欢迎。

(二)开发背景。如今的互联网,遍及全球,发展迅猛,信息在不断的更新,Internet信息库变得十分庞大。Web信息都是以网页的形式,通过浏览器被用户查看。目前搜索引擎技术发达,Web用户都会通过搜索引擎搜索关键词来查找自己想要的信息,但查到的结果不尽人意,包含了很多不相关的页面,还要自己认真查找,因此要直接查找自己想要的精确信息非常困难。

(三)研究意义。网络上的信息非常丰富,数据类型多样,不断更新、不断变化,如何迅速的、准确的获取到自己需要的数据,有价值的信息,变得越来越难。如何充分的利用网络信息资源进行方便快速的检索,从而引出搜索引擎技术,它们与网络技术和信息技术一起,在发展和使用中逐步完善。企业及个人网站需要在百度上有个好的排名,就必须运用到SEO相关的技术,其中更新网站信息是最主要的,但这需要太多的时间与人力,该网络类数据采集引擎就可以避免公司及个人的成本,并且可以提高工作效率。

二、系统调研与可行性分析

(一)现状调研。随着网络的发展,网络创业也成了现在的主流。但这些离开不了搜索引擎的作用,因为要有流量就得要排名,要有排名就得跟着各大搜索引擎的步法走,走偏了,就得受罚。不管做网站还是做推广少不了信息的获取,但是获取具有相对性高的信息是比较费时间和人力的,因此采集引擎发挥了很大的作用并得到广泛的应用。

(二)可行性分析。现在大多数的信息的采集主要是为手工处理,很多重复操作,而且是容易找到许多不相关的信息,该网络类垂直搜索引擎数据采集软件的使用是否可以解决以上问题,就要对软件进行可行性分析。一般软件的可行性分析会对以下方面进行:(1)技术可行性:程序运行采集信息时采用的是多线程处理,使处理速度更快。(2)经济可行性:在设计该软件时不需要太多的成本,也不需要太多的人力投入,需要连接网络。(3)运行上可行性:虽然本软件使用的是多线程处理,消耗的相对比较大,但是现在一般的电脑都可以运行。(4)从社会需求上分析:更新信息本来是个工作量大的工作,该软件就可以避免这个问题,可以降低工作强度,提高工作效率。

三、系统相关技术简介

(一)垂直搜索引擎。随着互联网信息的日益发展、不断庞大,精确获取信息的难度越来越大,那么怎样在大量的信息中找到自己想要的信息,成为了一个迫在眉睫的问题,需要新的技术、新的理念来解决这个棘手的问题,因此搜索引擎的出现成为了必然,同时也开始影响着我们的需求,影响着我们的生活。由于普通的、通用的搜索引擎有着查询的信息量很大、但目标不够准确、有许多重复的内容或根本无关紧要的内容,而且搜索出的信息深度不够等缺点,所以为精确的搜索出需要的信息,满足用户的需求,从而诞生了垂直搜索引擎。

(二)搜索引擎爬虫。搜索引擎爬虫是一种按照一定网页资源无关性、覆盖率数据结构型、语义检索等自动抓取网络资源的程序,它的执行过程和网络爬行很相似。

现在的网络信息都是以网页的形式加载信息,如果这个网页没有被搜索引擎爬虫收录,这个网页在互联网上是很难找不到的,这只能通过连接直接打开,通过搜索引擎查找是不可能找到的。因为搜索引擎爬虫采集时有URL去重功能,所以提供给用户的都是一些很有价值的信息。

(三)数据采集。网络基本上所有网站都分为三大模板:首页模板、内容页模板,列表页模板、所以一个网站的列表页、文章的HTML代码的结构基本相同,这就便于去根据规律采集文章信息,采集网页内容方式主要有两种:智能提取和正则提取。

(四)站群。站群是目前比较挣钱的网赚项目之一,为了维护这些网站每天都得给网站发布一定数量的信息,如果一个网站发10篇,就得准备至少100篇文章,这样的工作量不可能让人工来操作,必须要有具备采集数据功能的软件协助,这样就可以大大提高工作效率。

四、系统总体设计分析

(一)系统需求分析。在庞大的Internet信息宝库中,怎样精确获取信息的难度越来越大,用户也迫切的需要一个简便的检索工具去得到自己想要的信息,因此搜索引擎的产生成为了必然。搜索引擎的数据采集模块主要是对网络上原创性的网页信息采集下来保存在数据库中。如果该网页发生了更新,数据采集模块会检测到后下载并对本地的旧信息进行替换更新。因此通过剖析网络垂直搜索引擎中数据采集的基本方法和运行机制,再通过软件来现实数据采集,从而可以快速解决许多重复性的劳动问题。

(二)系统实现的目标。本系统主要实现的目标有以下几个方面:(1)界面设计简洁、美观、直观。(2)数据存储准确、安全、可靠。(3)任务运行灵活。(4)系统操作性强、维护方便。

(三)系统功能模块设计。(1)主程序模块:加载数据库里面的抓取任务信息,下面的小框中就会显示任务运行时的抓取日志和运行进程的个数。(2)新建任务模块:为程序的主要模块,又分为四个小模块:任务基本信息模块、提取列表分页模块、提取文章地址模块、提取文章内容模块。(3)文章库模块:查看所有抓取的文章信息。(4)系统设置模块:设置每个线程执行的间隔时间。(5)联系方式模块:关于系统的简介及我们的联系方式。(6)任务控制模块:控制选中任务运行、暂停、停止。(7)任务文章查看模块:查看选中任务抓取的文章信息。(8)任务文章删除模块:删除选中任务抓取的文章。(9)任务列表加载模块:实现刷新、选定任务删除、选定任务运行、选定任务暂停、选定任务停止、查看选定任务文章、导出。(10) 加载显示任务运行日志模块:显示所有线程的运行状态。

(四)系统功能结构图。根据基于C#的网络类垂直搜索引擎数据采集的实际需求,可以将网络类数据采集引擎划分为新建任务、文章库、系统设置、关于我们、任务运行、任务暂停、任务停止、指定任务文章查看、指定任务文章删除、任务加载列表、显示任务运行状态框、显示线程数量12个部分。

(五)系统流程图。基于C#的网络类数据采集引擎的流程是用户先要新建自己的抓取任务,依次要填写任务名称、采集方式、网站编码、入口地址、列表URL提取正则、网页URL提取正则、内容提取方式、内容提取正则;然后保存任务,刷新加载任务列表,会显示新建的任务,运行新建任务,把抓取到的信息保存在数据库中,同时显示任务运行状态框会显示抓取信息情况。

结语:虽然该数据采集软件的完成了,但是凡事总是不够完美,该软件还有一些不足。因为该软件要频繁地访问同一个服务器上的网页,服务器可能会对软件所在的电脑进行封锁IP,禁止在访问,软件将无法再抓取,因此该软件最大的不足就是没有实现切换代理IP访问网页。另外的不足就是没有实现对应发布功能,这些功能方面应该做进一个的完善。

参考文献:

[1]吕铁强, 于满泉, 孟庆发. 基于网页分块的个性化信息采集的研究与设计[J]. 微电子学与计算机, 2012

猜你喜欢
数据采集
Web网络大数据分类系统的设计与改进
CAN总线通信技术在电梯监控系统中的应用
基于大型嵌入式系统的污水检测系统设计
基于AVR单片机的SPI接口设计与实现
CS5463在植栽用电子镇流器老化监控系统中的应用
大数据时代高校数据管理的思考
基于广播模式的数据实时采集与处理系统
通用Web表单数据采集系统的设计与实现
基于开源系统的综合业务数据采集系统的开发研究
大数据时代的管理会计