时间:2024-01-29 15:36:16
导语:在计算机爬虫技术的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了九篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。
关键词:SOA DDoS 爬虫技术 检测技术
中图分类号:TP393.08 文献标识码:A 文章编号:1007-9416(2016)10-0202-01
面向服务的体系架构(Service-Oriented Architecture, SOA)作为一个全新的网络架构和组件模型,在提供便利的同时也面临安全方面的挑战。SOA系统不但会受到传统的网络攻击,如重放攻击、注入攻击等,也会受到各种DDoS攻击。近日有研究表明,假冒搜索引擎爬虫已经成为第三大DDoS攻击工具。本文所介绍的基于SOA架构下的DDoS攻击检测方法主要针对当今比较流行的利用网络爬虫所发起的DDoS攻击。
1 SOA安全问题研究
SOA是一个组件模型,它将应用程序的不同功能单元(即服务)通过这些服务之间定义良好的接口和契约联系起来。SOA目前在很大程度上还是比较依赖Web服务,特别是一些面向服务技术在SOA架构上的应用,导致SOA在提供了良好的便捷的同时也避免不了一些安全隐患。而目前来看SOA往往大多应用在企业级平台之上,它所承担的服务不再单纯的是一种技术能力,而更多的是一种业务能力和IT资产。因此研究SOA架构下安全问题,特别是安全检测技术,在风险到来之前提前预测、感知和及时响应具有十分重要的意义。
2 网络爬虫技术
2.1 网络爬虫概述
网络搜索引擎的主要数据来源就是互联网网页,通用搜索引擎的目司褪蔷】赡艿奶岣咄络覆盖率,网络爬虫(又称网页蜘蛛或者网络机器人),就是一种按照特定规则,自动抓取互联网信息的脚本或者程序。 搜索引擎利用网络爬虫技术爬取Web网页、文件甚至图片、音视频等多媒体资源,通过相应的索引技术处理这些信息后提供给用户查询。
2.2 网络爬虫的安全性问题
网络爬虫策略就是尽可能多的抓取互联网中的高价值信息,所以爬虫程序会根据特定策略尽可能多的访问互联网上的网站页面,这毫无疑问会占用目标网站的网络带宽和Web服务器的处理开销,特别是一些小型网站,仅仅处理各种搜索引擎公司的爬虫引擎就会导致自身服务器“应接不暇”。所以黑客可以假冒爬虫程序对Web站点发动DDoS攻击,使网站服务器在大量爬虫程序的访问下,系统资源耗尽而不能及时响应正常用户的请求甚至彻底崩溃。不仅如此,黑客还可能利用网络爬虫抓取各种敏感资料用于不正当用途。比如遍历网站目录列表;搜索测试页面、手册文档、样本程序以查找可能存在的缺陷程序;搜索网站管理员登录页面;搜索互联网用户的个人资料等等。
3 恶意爬虫DDoS攻击的防范和检测
一般情况下,因为特定网站的特殊原因,比如有些网站不希望爬虫白天抓取网页,有些网站不希望爬虫抓取敏感信息等,所以爬虫程序默认是需要遵守Robots协议,所以限制爬虫最简单直接的方法就是设置robots.txt规则。然而并不是所有的搜索引擎爬虫都会遵守robots规则,所以仅仅设置robots是远远不够的。
3.1 日志分析来检测恶意爬虫攻击
(1)分析服务器日志统计访问最多的IP地址段。
grep Processing production.log | awk ’{print $4}’ | awk -F’.’ ’{print $1〃.〃$2〃.〃$3〃.0〃}’ | sort | uniq -c | sort -r -n | head -n 200 > stat_ip.log
(2)把统计结果和流量统计系统记录的IP地址进行对比,排除真实用户访问IP,再排除正常的网页爬虫,如Google,百度,微软爬虫等。很容易得到可疑的IP地址。分析可疑ip 的请求时间、频率、refer头等,很容易检测是否网络爬虫,类似如图1所示日志信息明显是一个网络爬虫。
3.2 基于访问行为特征检测爬虫DDoS
通过日志分析来检测恶意爬虫攻击,无法及时检测并屏蔽这些spider。所以面对分布式的爬虫DDoS攻击,网站很有可能无法访问,分析日志无法及时解决问题。针对恶意爬虫程序和正常用户访问之间的行为特征不同,爬虫DDoS程序为了达到占用系统资源的目的,其访问往往是频率很高而且呈明显规律性,明显区别于真实正常用户浏览访问时的低频率和随机性,所以基于统计数据或者其他应用识别或者IPS技术,可以较容易的生成正常情况下的行为模型,通过采集正常的流量行为可以构造一个正常的网络行为模型,我们可以把处于正常模型内的流量行为认定为正常行为,一旦和正常行为轮廓有了较大的偏离,可以认定为异常或者攻击行为。
4 结语
由于基于SOA的网络系统下的DDoS攻击的普遍性,以及网络爬虫及其对应技术给现有Web系统带来的安全威胁。本文提出了一些反恶意爬虫攻击的策略和思路,对网站管理及安全人员,有一定的参考意义。随着基于网络爬虫和搜索引擎技术的互联网应用日益增多,我们有必要针对这些应用带来的安全问题做更深入的研究。
参考文献
[1]袁志勇.分布式拒绝服务攻击的攻击源追踪技术研究[D].长沙:中南大学,2009.
[2]何远超.基于Web的网络爬虫的设计与实现[J].网微计算机信息,2007,23(21):119-121.
[3]周伟,王丽娜,张焕国,傅建明.一种新的DDoS攻击方法及对策[J].计算机应用,2003.01:144.
[4]王希斌,廉龙颖.网络安全实验中DDoS攻击实验的实现[J].实验科学与技术,2016,14(1):68-71.
收稿日期:2016-08-30
关键词关键词:Web数据挖掘;数据仓库;急性高原病易感人群
中图分类号:TP319 文献标识码:A 文章编号文章编号:16727800(2013)008007002
0 引言
随着数据库技术及数据挖掘技术的迅速发展,人们积累起来的数据越来越多,在这些数据的背后隐藏着巨大的信息及规律。数据挖掘技术是在数据库技术广泛应用、深入发展的基础上应运而生的,它的主要价值就在于通过对大量新旧数据之间关系的分析,挖掘隐藏在这些数据背后的信息,进而促进信息的传递。
Web是一个全球性的信息服务中心,随着单位、个人每天的大量新的Web网页及在线文档,使得Web数据信息以指数形式进行激增。如何从这些浩如烟海的数据中,寻找出有价值的信息,使其为相应的人群、行业服务,已成为目前Web技术和数据挖掘技术的重要发展方向。
初进高原时,由于对低压低氧环境的不适应,人群中不可避免地要出现“急性高原病”。许多研究指出,人群中确实存在着急性高原病易感人群,如果能将数据挖掘技术应用于急性高原病易感人群的预测模型中,对于从根源上控制易感人群的基数将起到极其关键的作用[1]。
1 Web数据挖掘
1.1 Web内容挖掘及方法
Web内容挖掘[2]包括Web文本挖掘和Web多媒体数据挖掘,主要是从Internet上挖掘出有用的数据信息及文档信息,是一种基本Web检索工作的延伸。Web内容挖掘在传统信息检索的基础上,通过各种新技术的应用来对原先搜索引擎进行改进。
Web内容挖掘的方法主要包括数据库方法和人方法。Web内容挖掘的基本技术是文本挖掘,可以把Web数据看成是一个大型数据库,而对该数据库的查询、检索则需要多种技术进行融合,如:关键词检索、相似性检索、关联规则检索、聚类分析、自然处理语言等;使用人方法,是指通过软件来进行内容挖掘[3],如:信息过滤、个性化Web及智能信息检索方法等。
1.2 爬虫与Web内容挖掘
Web爬虫,是获取网页内容,分解Web中文本结构的一种程序。Web爬虫主要分为传统爬虫和聚焦爬虫。爬虫开始访问的网页称作种子URL,从一个网页开始,进行查询和记录与之相关联的网页链接,如此重复该过程,直至无法再获取相关链接。通过该过程,最终将获得相关网页的所有信息,成为目标数据的广泛数据源。
在Web内容挖掘中,我们拟采用聚焦爬虫挖掘,其挖掘过程比较复杂。具体挖掘原理如图1所示。DNS进程取出URL队列中的第一个URL(通过一种特殊的分析方法过滤与搜索信息无关的链接,将有用的链接放入URL队列中),并通过IP协议连接主机,DNS数据库将域名和IP地址相互映射,如果主机被解析,则直接获取IP,否则,通过DNS数据库获得主机IP。接着READ进程获得IP,并试图打开一个HTTP socket 连接来获取网页页面。页面下载之后,爬虫会检查该页面是否已经被下载过,如果未被下载过,则提取该页面的URL。在检查信息的过程中,我们利用时间戳来解决服务器的状态问题,在检查的过程中,如果时间戳耗尽了,但还没有检查完,爬虫也可以再爬取页面,如果时间戳耗尽了,还没找到可用的URL链接,则会提示找不到所查询的信息;如果找到了可用链接,爬虫会去拉取页面并将该URL记录在相应的表中存储起来。
图1 爬虫原理
1.3 Web挖掘模型
Web数据挖掘模型充分利用了XML的优点,其主要包括三个层次:采集层、数据层和应用层。采集层表示在Internet中搜集相关数据的过程,并将这些数据的格式统一规范化;数据层的主要作用是将搜集到的数据进行预处理,如:补充缺失的数据,去除一些重复的数据,丢掉明显不符合逻辑的偏差数据,修补一些缺失数据等,为数据的应用做准备;应用层,顾名思义,就是对数据层中的数据进行处理、应用,达到Web数据应用的目的。模型如图2所示。
图2 基于Web数据挖掘的总体框架
2 Web数据挖掘在急性高原病中的应用
2.1 急性高原病
急性高原病[4]是人进入高原低氧环境后出现的一种病理反应,引起本病的主要原因是低压低氧。急性高原病主要包括急性高原反应、高原肺水肿和高原脑水肿三种。早期主要表现症状为:失眠、头痛、心跳加快、呼吸困难、紫绀、血压升高、神情恍惚等症状。急性高原病如不及时诊治和治疗,严重时会危机生命。所以,建立急性高原病易感人群预测体系,严格控制身体指标不适合进入高原的人群,从源头解决此问题,降低高原病的患病几率。对保证进藏人群的健康有着重要的作用。
2.2 急性高原病易感人群预测的Web挖掘模型
建立急性高原病易感人群预测模型,首先必须从Internet上挖掘各种有关数据,建立急性高原病易感人群数据仓库,其中比较有针对性的数据库,主要包括MEDLINE,PubMED,PML,
CNKI, CBMDisc,以及万方数据和其它网络数据。
数据挖掘算法使用Naive Bayes 算法,它是 Microsoft SQL Server Analysis Services 提供的一种用于预测性建模的分类算法,Naive Bayes算法应用贝叶斯定理进行建模,其建模分类公式为:P(C/W) = P(C) * P(W/C) / P(W),其中,C表示一个文本的类别,W表示一个文本测试样本,P(C/W)表示该样品属于该类别的概率,在文本分类问题中,需要得到的就是样品属于各个类别的概率值,最大概率值所对应的类别就是该样本被分配的类。而要计算样品属于各个类别的概率值需应用“=”右边的表达式来计算。由于Naive Bayes算法的运算量小,能较快发现输入列与可预测列之间的关系,所以在该模型的挖掘中我们采用Naive Bayes算法。在挖掘的过程中,对发现模式要进行评估,以保证知识的有效性、可用性。最后从知识库中,筛选出急性高原病易感人群身体指标信息。 挖掘模型如图3所示。
图3 急性高原病易感人群预测的Web挖掘模型
3 结语
本文将Web技术与数据挖掘技术相结合,将分散于网络中的各种急性高原病数据进行整理、处理及挖掘,建立了急性高原病易感人群(AMS)预测模型,使得从“源头”上控制AMS发生的人群基数,降低高原病的发病率。目前我国数据挖掘在医学方面的研究还不够深入,应用还不够广泛,计算机科学与医学的融合发展方兴未艾,期待有关人员积极探索。
参考文献参考文献:
搜索引擎的工作原理为:从互联网上抓取网页建立索引数据库在索引数据库中搜索排序。从互联网上抓取网页利用能够从互联网上自动收集网页的Spider系统程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。建立索引数据库由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息根据一定的相关度算法进行大量复杂计算,得到每1个网页针对页面内容中及超链中每1个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。
在索引数据库中搜索排序当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
搜索引擎按其工作方式可分为三种,全文搜索引擎,目录搜索引擎和元搜索引擎。
1全文搜索引擎
全文搜索引擎的代表是网络爬虫,网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页,并重复上述过程,直到达到系统的某一条件时停止。所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
爬虫设计是否合理将直接影响它访问Web的效率,影响搜索数据库的质量,另外在设计爬虫时还必须考虑它对网络和被访问站点的影响,因为爬虫一般都运行在速度快,带宽高的主机上,如果它快速访问一个速度较慢的目标站点,可能导致该站点出现阻塞。Robot应遵守一些协议,以便被访问站点的管理员能够确定访问内容,Index是一个庞大的数据库,爬虫提取的网页将被放入到Index中建立索引,不同的搜索引擎会采取不同方式来建立索引,有的对整个HTML文件的所有单词都建立索引,有的只分析HTML文件的标题或前几段内容,还有的能处理HTML文件中的META标记或特殊标记。
2目录搜索引擎
目录搜索引擎的数据库是依靠专职人员建立的,这些人员在访问了某个Web站点后撰写一段对该站点的描述,并根据站点的内容和性质将其归为一个预先分好的类别,把站点URL和描述放在这个类别中,当用户查询某个关键词时,搜索软件只在这些描述中进行搜索。很多目录也接受用户提交的网站和描述,当目录的编辑人员认可该网站及描述后,就会将之添加到合适的类别中。
目录的结构为树形结构,首页提供了最基本的入口,用户可以逐级地向下访问,直至找到自己的类别,另外,用户也可以利用目录提供的搜索功能直接查找一个关键词。由于目录式搜索引擎只在保存了对站点的描述中搜索,因此站点本身的变化不会反映到搜索结果中,这也是目录式搜索引擎与基于Robot的搜索引擎之间的区别。分类目录在网络营销中的应用主要有下列特点:
通常只能收录网站首页(或者若干频道),而不能将大量网页都提交给分类目录;网站一旦被收录将在一定时期内保持稳定;无法通过"搜索引擎优化"等手段提高网站在分类目录中的排名;在高质量的分类目录登录,对于提高网站在搜索引擎检索结果中的排名有一定价值;紧靠分类目录通常与其他网站推广手段共同使用。
3元搜索引擎
我们可将元搜索引擎看成具有双层客户机/服务器结构的系统。用户向元搜索引擎发出检索请求,元搜索引擎再根据该请求向多个搜索引擎发出实际检索请求,搜索引擎执行元搜索引擎检索请求后将检索结果以应答形式传送给元搜索引擎,元搜索引擎将从多个搜索引擎获得的检索结果经过整理再以应答形式传送给实际用户。当然,某些元搜索引擎具有略微不同的机制。元搜索引擎在接受用户查询请求时,同时在其他多个引擎上进行搜索,将结果进行相关处理,以整体统一的格式反馈给用户。
它的特点是本身并没有存放网页信息的数据库。多数元搜索引擎在处理其它的搜索引擎返回结果时,只提取出每个搜索引擎的结果中考前的条目,然后将这些条目合并在一起返回给用户,元搜索引擎实现起比较简单,但是它也有一定的局限性,例如多数元搜索引擎都只能访问少数几个搜索引擎,并且通常不支持这些搜索引擎的高级搜索功能,在处理逻辑查询时也常常会出现错误。在这几种检索工具中,目录式搜索引擎成本高,信息t少的缺点,但它的信息准确这一优点使其在一定的领域和时间内仍会被使用,机器人搜索引擎是当前各种搜索引擎的主流,但随着网络信息量的增加,单一搜索引擎已经难已满足要求,结合目录式搜索引擎,机器人搜索引擎的优势,以元搜索引擎为核心的多层搜索引擎是搜索引擎的发展方向。
搜索引擎技术功能强大,提供的服务也全面,它们的目标不仅仅是提供单纯的查询功能,而是把自己发展成为用户首选的Internet入口站点。目前的搜索引擎主要有几个特点:多样化和个性化的服务。强大的查询功能。目录和基于Robot的搜索引擎相互结合。目前搜索引擎是网络上被使用频率最高的服务项目之一,随着Internet的发展,网上庞大的数字化信息和人们获取所需信息能力之间的矛盾突出。搜索结果丰富的搜索引擎技术正在被信息更集中的局域网取代,因为搜索系统的表现与用户的期望值相差太大,诸如数据量高速增长的视频、音频等多媒体信息的检索,仍然无法实现。
搜索引擎越来越不能满足用户的各种信息需求,如收集的网页数量和其数据库的更新速度存在着不可调和的矛盾。用户经常无法打开查询的结果。网络信息时刻变动,实时搜索几乎不可能。网络信息收集与整理是搜索引擎工作的重要部分。搜索引擎需要定期不断地访问网络资源。目前网络带宽不足,网络速度慢,遍历如此庞杂的网络时间花费非常庞大,这就是不能实时搜索的原因。(编选: 勇全)
参考文献
[1]张兴华.搜索引擎技术及研究[J].现代情报,2004,(4).
[2]唐铭杰.论搜索引擎的发展概况及发展趋势[J].情报杂志,2001,(5).
[3]阳小华.分布式WWW信息收集技术[J].计算机工程与应用,2000,(5).
【关键词】专利信息 关键技术 检索
1 专利系统概述
伴随着计算机技术的不断发展,以计算机平台为基础的专利系统愈来愈多,特别是可视化分析软件呈现了明显的上升趋势,如Ucinet、Netdraw、Pajek等网络分析软件的出现,极大程度上推动了分析可视化的发展,为专利系统进一步完善提供了基础。可视化分析软件相对于传统检索模型而言,表达更为直观、便利性较好,可为用户提供更为优质的服务。这将是未来专利系统发展的重要方向之一。
2 专利系统架构分析
2.1 整体结构
本研究设计的专利系统主要由三个部分构成,即专利信息检索子模块、信息抽取子模块,信息分析子模块。实际应用过程中,用户先经由系统用户接口,给予某种专利检索查询表达方式。此时,系统检索模块则会对这种表达方式进行针对性处理,对其语法进行调整,转变为统一化的规范性表达方式。经过检索模块处理后,可对检索词概念扩展影响因素进行消除,并经由知识库对检索词进行概念扩张。基于Deep Web主题爬虫对检索表达式进行模拟,并查询URL构造,可达到抓取网页源文件的目的。上述网页文件会被系统下载下来,再通过抽取子模块进行预处理,其中网页中不合规格的内容将会被清除。经过XML转换,并结合相关技术(XML、XSLT)对有效信息进行抽取,以获取专利数据库。
2.2 检索框架
检索子模块对表达式语法进行处理后,语法结构也就变得相对完整。但即便如此,表达式在语义层面上依然会出现偏差。在关键词检索方面,如果语义偏离程度较大,将会使检索质量有所下降。为了降低语义偏差所带来的影响,可构建专门的领域知识库,对检索词汇语义进行有效概念扩展,从而对检索表达方式进行优化。这样,信息检索将由词汇层面上升至概念层面。实际专利检索过程中,查询活动几乎都是通过专利网络数据库完成的,这个过程中需要利用Deep Web来收集信息。因此,采取Deep Web主题爬虫对相关数据源进行分析、处理,可让检索活动更为高效,从而为用户提供更为可靠的信息。
2.3 抽取框架
抽取子模块主要通过以下流程进行工作,如图1所示。
抽取子模块的主要功能是对相关网页信息进行处理,通过格式整理、XML转化等,对网页中的专利信息进行有效提取,并将这些信息收集、整合起来,以获取相关专利数据库。从网络环境来看,多数网页格式为HTML。然而,从HTML网页中提取信息具有一定难度。因此,需先将HTML转变为XML,然后通过相关技术(XML、XSLT)来提取有效内容。抽取完成后,数据库可收入相关专利信息(基于数据库映射技术),并得到本地专利数据库。用户再次查询的时候,便可借助本地数据库执行。
2.4 分析框架
系统通过分析子模块可对专利信息进行预分析,并对深层次信息进行发掘。将专利数据从专利文献当中提取出来,这对于技术分析具有重要的支持作用。分析子模块可充分利用本地数据库,并从中筛选出累积的专利申请号等信息。这些信息被提取后,通过专门的软件进行统计,得到相关统计图表,这样便可清晰地了解到专利发展趋势及方向。
3 关键性技术概述
实现专利系统的过程中,通常会涉及到以下关键技术:
(1)表达式语法转换。检索词中的字母会统一成小写字母;当出现连字号(-)时,会直接删除;无实际含义词汇(停用词)会直接删除;对具有实际意义的词汇会进行分词处理,使关键词概念得以有效扩展。
(2)领域知识库。构建领域知识库,便于关键词实现概念扩展,从而提升检索质量。领域知识库由DBpedia数据集及WordNet语义词典构成。检索词经规范化处理后,经由领域知识库予以扩展,得到同义词集合。
(3)Deep Web主题爬虫。本研究中Deep Web主题爬虫主要面向对象为USPTO,爬虫通过分析URL结构及经过概念扩展的检索表达式,将URL构造以表单方式提交,并与数据库进行交互,得到对应的专利信息,以可视化的方式供于用户使用。
4 结语
专利是目前技术信息的有效载体之一,其容纳了绝大部分最新技术情报。对于企业发展乃至行业发展而言,专利有着重要的价值。在这种背景下,专利信息获取与分析系统将愈来愈受到关注,未来其将获取更为广泛的应用空间。
参考文献
[1]翟东升,刘晨,欧阳轶慧.专利信息获取分析系统设计与实现[J].现代图书情报技术,2009,05:55-60.
[2]陈琼娣.基于词频分析的清洁技术专利检索策略研究[J].情报杂志,2013,06:47-52.
[3]翟东升,张欣琦,张杰,康宁.分布式专利信息抽取系统设计与构建[J].现代图书情报技术,2013,Z1:114-121.
[关键词]多媒体信息检索;图像检索;TBIR;CBIR
[中图分类号]TP393 [文献标识码]A
[文章编号]1007-4309(2011)01-0074-1.5
随着通信和计算机的发展,存储技术的提高和Interact的日渐普及,我们拥有了海量的信息资源。这其中,不仅仅有简单的文本数据,更加包括了大量的图像、视频等多媒体信息。很明显,只有合理地组织这些资源,并研究高效的查询方法和检索方法,才有可能充分利用它们。于是各种针对Interact的图像搜索引擎应运而生,极大地方便了用户对Interact图像进行检索。
Web图像检索系统按照其组织和管理图像方式的不同,主要可以分为以下几类。基于文本的图像检索(Text-Based ImageRetrieval,简称TBIR)和基于内容的图像检索(content-BasedImage Retrieval,简称CBIR)以及综合文本信息和图像视觉信息的web图像检索。
一、基于文本的图像检索
传统的信息检索是基于关键字的信息检索,即输入关键字,检索出与之相匹配的文本对象。哪怕检索对象本身不是文本,而是例如声音、图形、图像、视频等其他类媒体,也是用关键字对这类媒体对象进行标识或索引,建立起与这类媒体对象之间的逻辑联系。
TBIR的历史可以追溯到20世纪70年代,由于数据库技术的进步而建立和发展了基于文本的图像检索技术,并取得了一定成果,例如数据建模、多维数据索引、查询优化和查询评估等。图像数据研究者们在对图像进行文本标注的基础上,对图像进行基于关键字的检索。其基本步骤是先对图像文件建立相应的关键字或描述字段,并将图像的存储路径与该关键字对应起来,然后用基于文本的数据库管理系统来进行图像检索。该方法实质是把图像检索转换为对与该图像对应的文本检索。
早期的图像检索系统采用文本数据形式对图像进行人工注释,建立图像索引数据库。这种人工标注的方法适合有限范围的图像库管理系统,如人事档案照片库、动物图谱库、商标图案库等。但在Web环境中,Web图像数据是海量的,无法采用人工方式对图像进行广泛的关键信息标注,只得借助Web中相关的文本信息,采用适当的算法提取图像的主题,实现图像自动标注。显然,对图像自动标注的准确性依赖于Web中图像关键信息的提取算法。目前这些关键信息的提取主要从以下几个图像的外部信息中提取:图像的文件名及网址、图像的替代文字、图像周围的文字、图像所在页面的标题、图像的超链接、图像所在网页彼此间的链接。
目前多数图像搜索引擎(网站),如Google、Yahoo、Al-taVista、Infoseek、LyCOS、Scour、WebSeek、搜狐等,普遍采用此种方式。有的研究者把网页按照其组织内容的框架和结构将网页分割成多个基本块,然后将块内的元素作为一个基本的语义单元实现Web检索。有些研究者使用网页内的链接信息实现Web检索。还有些人使用缩略图帮助web用户在基于文本检索的结果中更好地定位感兴趣的图像;部分研究者使用网页的文本片段(Text Snippet)和图像片段(Image Snippet)帮助用户快速定位其感兴趣的网页。
互联网上的网页搜索是由网络爬虫完成的,但是随着Web的发展,其结构越来越复杂,其中的网页数量越来越多,通用爬虫越发不可能访问Web L的所有网页并及时进行更新,简短的关键词输入无法表达出用户的复杂查询语义。
“主题爬虫”这一概念是由S,Chakrabarti在1999年WorldWide Web大会上首次提出的。与一般的网络爬虫不同,主题网络爬虫不是对所有链接不加选择地爬行,而是面向主题地、有选择地爬行。主题爬虫分析每个网页的链接,预测哪些链接指向的网页可能和预定主题相关,对这些链接进行优先爬行,而舍弃那些和主题无关的链接。
目前,主题网络爬虫技术研究正在成为一个热点。在1999年出现了IBM Focused Crawler。如今,主题爬虫又有了新的发展,国外典型的系统有Context Graphs Focused Crawler、WTMS系统等。
二、基于内容的图像检索
20世纪90年代初,人工智能、数字信号处理、统计学、自然语言理解、数据库技术、心理学、计算机视觉、模式识别和信息处理等技术都得到了不同程度的发展。在此基础上,为了克服基于文本信息检索带来的困难,提出基于内容的图像检索(content-Based Image Retrieval,简称CBIR)技术,从可视化角度对图像检索进行探讨。所谓基于内容的图像检索,是使用图像的颜色、纹理、形状等低层视觉特征从图像库中查找含有特定对象的图像。它区别于传统的检索手段,融合了图像理解技术,从而可以提供更有效的检索手段并实现自动化检索。CBIR具有如下特点:直接从图像中提取特征建立索引;检索匹配是一种近似匹配,这一点与常规数据库检索的精确匹配方法有明显不同;特征提取和索引建立可由计算机自动实现,避免了人工描述的主观性,大大减少了工作量。图像的视觉特征是在像素数据基础上提取的,可用于基于图像直观形象的检索。
在这期间,比较典型的基于内容的图像检索系统代表有QBIC、Photobook、Virage、Visualseek和MARs等。这些系统都遵循同一个模式:用图像的颜色、形状、纹理等视觉特征表示图像的内容,利用查询例图的视觉特征和底层数据库中图像的视觉特征进行匹配来完成检索。
从目前基于内容的图像搜索演示系统的检索结果看,检索效果并不理想,其根本原因是低层的视觉特征与高层的图像语义之间存在的“语义鸿沟”。低层的视觉特征不能代表图像丰富的内涵,用户搜索图像更关心的是概念层次上图像的内容和图像表现的寓意,也就是图像的高层语义。因此,图像检索的理想方式是根据图像的语义进行检索,目前将低层图像特征映射到高层语义的图像语义生成方法主要分为三种,分别是基于知识的语义提取、人工交互语义提取和利用外部信息源的语义生成。
三、综合文本信息和图像视觉信息的web图像检索
Web图像的文本信息和视觉信息在Web图像检索中都具有十分重要的作用,因此许多研究者开始研究基于包含这两种信息在内的Web图像检索。由于各种信息之间是异构的,很难直接将它们融合在一起,所以针对不同信息通常采用不同的模型实现Web图像检索。例如文本信息主要采用传统的TBIR模型,图像视觉信息主要采用传统的CBIR模型,而链接信息则主要采用基于图论的模型。由于不同信息之间的异构性,很难评价不同的信息对于Web图像检索的贡献,因此多个模型之间的最优组合是一个不可解问题。
一部分研究者使用文本信息和图像低层视觉信息检索图像,在计算文本信息之间的相似性时通过计算它们对应向量之间夹角的余弦,而计算视觉信息之间的相似性时通过计算它们对应向量之间的欧几里德距离。然后使用线性方式将上述的两个度量组合起来,并且设置二者权重相同,即认为文本信息和视觉信息在Web图像检索中的重要程度一样。一部分研究者采用了类似的策略将基于文本信息查询的模型和基于图像视觉信息查询的模型线性地组合起来,但这两个模型的权重是给定训练库的基础上通过机器学习手段获得。一部分研究者使用LDAfLatent Dirichlet Allocation模型捕获图像视觉特征和文本特征之间的联合概率分布以及条件概率分布。一部分研究者也使用概率模型组合基于文本信息的模型和基于视觉信息的模型,基于文本信息的检索模型采用的是语言模型,模型的参数估计采用被广泛应用的TF/IDF;基于视觉信息的检索模型采用的是高斯混合模型,模型的参数估计采用EM算法。
四、总结
本章主要对基于文本信息、视觉信息、文本信息和视觉信息的组合的Web图像检索进行了研究,介绍了基于关键词的高层语义层特征,以及基于图像颜色、纹理、形状等低层视觉特征的图像索引和检索技术,并介绍了几种典型的基于TBIR和CBIR方法的图像检索系统。
[参考文献]
[1]夏定元,基于内容的图像检索通用技术研究及应用[D],华中科技大学,2004
>> 关于垂直搜索引擎的研究与思考 开源网络爬虫在垂直搜索引擎应用 垂直搜索引擎应用研究 垂直搜索引擎系统研究与实现 浅谈垂直搜索引擎技术的应用 浅析垂直搜索引擎的应用 Heritrix在垂直搜索引擎中的应用 基于语义的垂直搜索引擎的研究 基于.NET搜索引擎的研究与应用 基于BlogRank与标签的学术博客垂直搜索引擎研究 基于Heritrix和Lucene的电力新闻垂直搜索引擎研究与实现 基于Heritrix与Lucene的垂直搜索引擎研究 垂直搜索:搜索引擎的激情所在 基于垂直搜索技术的搜索引擎 试比较垂直搜索引擎和传统的搜索引擎 基于神经网络的搜索引擎应用 搜索引擎与网络社会的构建 构建库区农业垂直搜索引擎研究 搜索引擎研究与开发 搜索引擎的应用及研究 常见问题解答 当前所在位置:l.parser和javax.swing.text.html即可。主要用以下几个类HTMLEdltorKIt.Parse,HTMLEditorKit.Parser,HTML.Tag,HTML.Attrlbute。
第一步是实现HTMLEditorKit.Parser.getParser()方法的pulbic访问性。代码如下:
第二步是先构建ParserCallBack类的子类,实现解析待处理的文件,再重写handleComment,handleEndTag,handleError,handleSimpleTag,handleStartTag和handleText方法。当HTMLEditorKit.Parser对象在解析HTML文件时,遇到不同的标签则调用相应的回调方法来处理。
第三步是将文档写入Reader流中,传给HTMLEdjtorKit.Parser。首先通过抽象类URLConnection建立与URL指定的数据源的动态链接。再实现HTMLEditorKit.Parser类和HTMLEditorKit.ParserCallBack类的实例化,最后使用HTMLEditorKit.Parser对象的parse()方法。
Swing中包含了完整的HTML解析器功能,用户可以使用它进行开发,解析HTML文档,从而达到灵活适用的目的。
2测试分析
Mencze[10]等提出用于评价主题网络爬虫系统的指标同传统信息检索一样主要有两个:(1) 爬准率(Precision); (2) 爬全率(Recal1)。定义分别为: Precision=采集的目标网页数/总爬行数; Recall=采集的目标网页数/总的目标页面数。
为了评价该系统的性能,将本系统与Nutch的搜索结果进行了比较。Nutch是Apache Software Foundation开发的一个开源搜索引擎,用Java编写。可以为用户构建专业的搜索引擎。Nutch可用于本地文件系统的检索、内部互联网的检索和全球互联网的检索。有关Nutch的使用可参见官方网站[11]。
在测试中,所选平台为装有Windows XP SP2,MSSQL Server 2000、JDK5.0、IntelliJ IDEA等。计算机为P4CPU 2.66GHz,内存1GB。Nutch执行抓取时,线程数设为500、深度为3。种子链接两者相同,都由人工选择,尽量包括各种成型方法的中心网页,并指定一些目标页面,取阈值r=0.1。实验结果如图3、图4所示。
通过图3、图4的比较,由于该系统经过页面解析,优先爬行跟主题相似度高的网页中的链接。该系统的爬全率、爬准率明显优于Nutch。
关键词:信息挖掘;搜索引擎;网络搜索;网络信息挖掘;Java引擎
中图分类号:TP399 文献标识码:A文章编号:1007-9599 (2011) 14-0000-01
Java Search Engine Technology Application Study in Web Information Mining
Luo Weisheng
(TISSON Ruida Communication Technology Co.,Ltd.,Guangzhou510600,China)
Abstract:Mining is the key technology required for the user's keywords to the database,a network of keyword matching and filtering and screening.To complete this process,people use crawler technology,network information search,acquisition,temporary storage,analysis,and the formation of the final search results.Java in the process of the formation of search engine technology has played a good application results.
Keywords:Mining;Search engine;Web search;Web Mining;Java engine
一、搜索引擎的组成结构分析
通常意义上的搜索引擎可以分为三个部分,主要是由网络蜘蛛、索引器、检索器共同构成,下面就对这三个结构进行逐一的介绍。
网络蜘蛛的主要功能就是在指定的网络地址或者网页上收集和发送信息,并且沿着任何网页上的URL爬行到其他网页上,此过程可以按照搜索要求进行重复,从而将爬行过所有的网页收集到存储库中,以备发掘。
索引器的功能是对搜集回来的存储库中的网页进行分析,提取相关网页中的信息,包括网页所在的URL、页面内容中的关键词、关键词的位置、编码内容、时间标记、大小、与其他网络关系等,然后在根据相应的设计好的规则进行复杂的计算,从而获得每一个网页和超级链接中的任何一个关键词的相关程度和重要性,然后利用相关信息建立网页索引数据库。
二、搜索引擎工作流程分析
搜索引擎在实际的应用中工作的流程主要分为四个步骤:在网上搜索网页、建立索引库、在索引库中进行搜寻、对搜索的结果进行处理和排序。这个过程就将前面搜索引擎的各个组成部分联系起来,构成一个完整的搜索流程和工作流程,这样就可以有效的将多个部分组合起来,获得最终的有效结果。
三、数据挖掘技术的发展
数据挖掘主要指从大型的数据库中通过某种技术手段获得客户所需的数据,而这些数据往往不是显而易见的,是隐含的、未知的、潜在的有价值信息。数据挖掘是一门广义上的交叉学科,对其研究所以需要的是不同领域的知识和技巧,主要的包括了:数据库、人工智能模拟、数学模型、可视化研究、计算机语言等相关的知识。
数据挖掘的工具较多,其中主要包括以下几种:根据数据挖掘的应用类型差异可以划分为,分类模型、关联模型、顺序模型、聚簇模型等。安装计算的方式和算法差异可以分为,神经网络、决策树、数据可视化、联机分析等。目前,数据挖掘计算正处在发展的阶段,涉及数据挖掘的数学理论统计、模糊理论、神经网络等技术实现和完善的难度都较大。
四、Web的有价值信息挖掘
(一)Web的信息挖掘。网络信息挖掘与数据库信息挖掘相比更加的复杂,其不同于传统的数据仓库技术和简单的知识发现过程,网络信息是相对海量化的数据化结构,其丰富的信息构成不是简单的数据信息,而是一种文本、图像、图形的半结构化数据,设置是异构的结构数据。因此,其知识发现有数学和非数学技术;可以演绎也可以归纳。网络信息挖掘技术可以分为四个步骤进行:资源发现;信息选择预处理;概括化处理;分析提取。根据挖掘信息的对象不同,网络信息挖掘可以划分为内容挖掘、结构挖掘、用法挖掘。
(二)Java搜索引擎。搜索引擎的出现和发展的时间较短,但是今天已经成为了网络应用中不可缺少的重要工具。Java搜索引擎是将每个网页上的关键词记录下来,并储存在索引表中,当用户键入某个关键词的时候,搜索引擎就会根据索引表将包含有改关键词的网页列表,并按照相关度进行排序。
五、Java搜索引擎技术在网络信息挖掘中的应用
下面以网络实际的案例说明Java搜索引擎的应用。如:著名的网络搜索引擎为例,剖析网络Java搜索引擎在网络信息挖掘中的应用。某搜索引擎的机制是一种几个分布的网络爬虫(蜘蛛)进行同时“爬行”,地址服务器负责向爬虫提供地址列表。爬虫找到网页并将其信息传输的存储服务器中。存储服务其将网页信息进行压缩并放入到一个相对集中的知识库。每个网页的ID是相对固定的,当一个新的URL从一个网页中解读出来,就会被分配一个ID。索引库和排序器将为搜索建立索引,索引库从知识库中获得数据,将对应的文档解压开来,并解析。每一个文档就转换为一组关键词,这就称之为HITS。此种方式记录了关键词及其所在的位置、字体等信息。索引库将这些HIT在此进行分组,产生进过部分排序后的索引。索引库同时分析网页中的关键连接,并将重要的信息在Anchors保存,此文档包括了搜索所需的多种信息,可以判断一个链接被链入或者链出。
接着地址分解阅读器对Anchors文档进行解读,将相对地址变为URLs,并赋予ID,将其编制为索引,并与ID相互链接。同时还会产生的“ID”所形成的数据库。这个链接数据库将用于计算机所有文档页面等级的应用。
排序器在挖掘中会读取barrels,同时根据ID序列号进行排序。一个称之为Dump Lexicon的应用则将上面的列表和索引库产生的一个新的词表相互结合起来,为另一个新的词表搜索器所应用。这个搜索其就是利用一个Web服务器,并使用由Dump Lexicon所建立的词表,利用上诉的排序和页面等级来回答用户的搜索请求。
六、结束语
从此搜索体系结构、搜索原理中可以看到,最为关键的部分是URL分解器获得有效的Links信息,并将其作为基础进行计算并得到页面的重要性等级,这也就完成了网络信息挖掘。而随着网络用户信息需求的复杂化,人们对网络信息挖掘探索也不断拓展,以Java搜索引擎技术等为主的智能化搜索技术的出现,将使得面向Web的网络信息挖掘也将会变得非常轻松。
参考文献:
[1]赵夷平.传统搜索引擎与语义搜索引擎服务比较研究[J].情报科学,2010,2
【关键词】信息;WEB;智能搜索;Lucene
网络时代的今天,每天在Internet上都有新增几十万的Web页面,巨量的网页面前即使是最执着的网络冲浪者也不能搜索及访问到所有的页面,更不可能在这浩瀚的Web信息海洋中精准地发现那多彩中的一隅。简单的网上查询已不能满足这样的海量信息的汇总查找,必须要开发出新的更高级、智能的技术架设在网络搜索中才能应时代的需求。将智能化的搜索技术应用恰当能很好的辅助用户快、准的定位及提取信息,也能帮衬web拥有者将自己的信息最优路径的呈现到亿万用户面前。"搜索引擎"这个IT业技术语言一般统指全文检索搜索引擎和目录分类搜索引擎。
1 搜索技术的定义、发展
从使用层面考量,应用于WEB中的搜索技术主要说的是一些搜索引擎(Search Engine)技术,它是借用WEB在互联网上面向网络用户提供数据信息等资源搜索及定向导航等服务系统。其中包括web上网页、URL等,先进行整理、建立管理、执行存储,并提供基于指定索引的数据库的检索。
搜索引擎技术是当今计算机应用技术的又一个制高点,如今,其发展已历经三代:(1)人工技术,主要依靠于人工登入、检索,以YAHOO为代表,这一代搜索引擎的局限在于查全率比较低;(2)智能化前期技术,主要依靠用户选定的查询关键词进行检索的搜索引擎,以Google和Baidu等为代表,借用WEB ROBOT,面向大多数INTERNET网页,并存贮其中的主要文本内容、图片或多媒体信息,仍然不能保证查准率;(3)准智能化技术,第三代搜索引擎经过进一步的技术研发,如今功能更加智能化、个性化,努力取得更高的查全率与查准率,达到更全面的查询功能。以此技术的发展为背景,我们崇尚与首选的必然是当下的第三代智能化搜索技术。例如,在google推出的学术搜索引擎中已经有这样的优化实现了,它会将同一文献的不同链接地址放在一条结果信息中,这样用户就可以在前三页中看到更多的页面链接,从而提高了工作效率。
2 智能搜索引擎的系统架构及工作原理
智能搜索引擎技术架构的核心技术就是实现搜索,搜索的对象根据不同的实际需要而有不同的侧重点,细化看来主要应用表现为:网页内容搜索技术、初始页面信息存储技术、主索引INDEXER、有序信息存储技术、及人机交互Web界面。具体看来:(1)网页内容搜索技术:具体化为一组自动执行的“网络爬虫”程序,它能够从广域的互联网WEB中捕捉到相关的信息。并将信息数据分解,从中提取出文本、图像、视频等多媒体信息,之后存入初始页面信息存储容器中;(2)初始页面信息存储,提供一种容器服务,负责保管抓取到的网页信息数据;(3)主索引INDEXER,它是整个搜索引擎系统的核心架构,它将信息存储容器中的网页内容细化与分解,再依据特定的用户选择把每个网页重新分类归档后存入存储容器中;(4)人机交互web界面,主要是提供给客户端一个操作平台界面,方便用户执行查询操作。
3 智能搜索系统的创建
基于智能化的搜索引擎有多种开发软件,不同的开发人员有不同的实际选用,现以JAVA JDK开发智能WEB检索系统为例证来系统说明。从系统的应用型与稳定性等因素考量使用基于JAVA的Lucene软件包建构的基于web中信息内容的检索系统是比较合理的。多年的应用验证了JAVA的很多优点,并且Lucene是基于开放源代码的全文检索引擎软件包,它的研发与开展目的主要是为了向用户提供一种在目标web中信息检索功能。Lucene软件包可以便捷的架设到各个开发程序中,实现面向用户应用的信息检索功能。现今,IT技术产业中已有多个Java程序项目都使用了Lucene软件包作为其后台的索引引擎技术支撑。其中,Lucene的API设计较普遍及应用,支持多数文件、数据库等虚拟映射到它的存储结构与接口中。总的来看:Lucene好比一个带有全文索引的数据库系统,这是其区别其他数据库软件的核心的特征,它突破了传统的技术实现了全文索引机制,同时提供了相应的扩展接口,以方便面向不同应用的专向定制。Lucene给予的技术服务不是更新中只维护一个索引文件,相反是更新过程中不断创建新的索引文件,并一定间隔后将新的小索引合并到大索引中,提高了索引功效,又不会影响检索的功效。
lucene软件包的检索功能细化为:先期的信息捕获、中期的构建DOCUMENT、后期的建立相关索引。工作过程中,语言分析部件,查询分析部件,以及搜索部件都提供了对应的虚拟抽象接口,提供专向的定制服务。在信息数据库中执行搜索,关键点是根据用户提供的搜索关键字进行查询、检索操作。关键字是智能搜索首要面对及处理的对象,怎样分析、分析结果也是标榜搜索引擎是否实用的要素。但是,其中ANALYZER分析器对中文词句的支持度不够,基于此问题背景,要选择择一个支持程度较好的中文词句分析工具软件,力求满足对中文查询语句的支持,推荐使用基于词库匹配形式的中文分词工具。实际应用中得出词库分词是现今较好的分词方式,其中心技术是依据一个事先创建完整的词库中的字、词的集合按照指定的算法目标词句逐一匹配与查询,当检测到库中有该词语时,就提取其出来。显而易见,词库分词的效果是比较理想简单,但有一点,需要事先建立一个完善的中英文词库,然后根据各种词语的出现频率、概率再筛选,最终决定放入词库的词语。切词后建立全文索引,提供有效、快速地查询、搜索服务,响应用户基于关键词或语句的查询请求事件。
随着计算机的不断应用与更新,网络也以同样的速度在发生着翻天覆地的革新及更为广泛的应用,大量的应用导致internet中不断积聚各行各业的数据信息量,人们在应用计算机与网络的同时,已经产生了海量的数据与信息的冗余,在一定程度上阻碍了网络的高速性。智能检索技术的开展目的就是为了解决web中海量的数据信息资源与低效的信息获取手段之间的矛盾,应用目标是以用户输入的关键词作为搜索标准,进行网络范围的智能化查找,从检索目标范围的确定到检索结果的获取逐一求精,尽可能提升WEB搜索的查全率和查准率。这也将有利于提高网络信息资源利用率、增强网络建设的经济效益和社会效益有着非常积极的意义。因此,基于web的智能搜索技术被不断创新与完善,它也成为有效利用与开发互联网络知识宝库的关键之匙。
【参考文献】
[1]崔维梅,范荣鹏.搜索引擎的技术现状和热点[J].青年记者,2005(15):116-117.
[2]刘平冰.电子电子科技大学[D].2005(5):7-9.
[3]杨德仁,顾君忠.一种知识型网络爬虫的设计与实现[J].华东师范大学学报,2006(3):93-94.
关键词:VFP;数据采集;高校数字资源建设
中图分类号:TP311.52
随着信息技术对高校教育发展的变革,数字化资源建设在高校学习资源建设,构建学习型组织中扮演着重要角色。数字资源建设是满足现代化教学所需的一项重要教学基础资源,是学校、教师和学生进行学习,交流,分享,创新的重要原动力。各高校都把数字化资源建设当作重点工作开展。然而不少高校面临着数字资源建设经费不足,除了购置外部资源外,同时也要内部开发一些数字资源。对于数字资源的建设,各高校的数字资源建设有共性需求,也有个性的需求,并非外部采购能够解决。在这样的前提下,笔者尝试运用Visual FoxPro(以下简称VFP)技术构建可采集网页数据的系统,用以采集无版权问题的在线学习资源,将不同来源的学习资源汇聚于同一数据库,来构建主题数字资源库。
1 高校数字化资源采集需要VFP技术
1.1 满足基础服务需求的角度选型
从提供基础服务角度看,选用何种技术进行开发首先是从需求出发,是否能满足实际工作需要,系统是否能运行稳定、高效。而不仅仅是追求先进性。并非最先进的就是最能满足需要的。笔者进行的数据采集只是数字资源建设前期的数据整理阶段的阶段性的工具,在时间节点范围能能够满足高校对数据的抓取工作。因此,在需求明确导向前提下,用最经济的手段来实现基础服务的稳定和高效运行是最合理的。VFP兼有开发工具和数据库两方面特征,能够做到与操作与数据的无缝衔接,在前期的数据采集与整理上完全能够满足用户需求。
1.2 存量用户与技术衍生性
VFP数据库在过去十年中在高校的普及应用率较高,不少教学服务部门的管理系统都是基于VFP开发的,如不少高校的教务系统,学工系统都是基于VFP开发等。因此,高校中的VFP存量用户较多,在新系统建设中,首先要考虑的系统对接的兼容性,后续增加的系统最好能和之前的系统能够无缝对接。而且,由于VFP的简单易学,在系统使用和维护中,不少老师也逐渐摸索、学习,逐渐掌握了VFP的基础开发技能。因此,VFP来开发数据采集系统是一个可以被应用环境接受和用户认可的工具。
1.3 VFP自身的技术优势
VFP是开发工具同时其本身也是数据库。VFP数据库发展到现在已经相当成熟,VFP系统小巧,相比Oracle等数据库,其不会占用太多的存储空间。相比其他数据库,VFP的应用程序开发的效率较高,相比一些开发语言,VFP本身强大的查询功能。所以VFP是集开发和数据库的综合体,简单易学,操作灵活。同时,VFP互操作性和对网络支持性较强。
2 网页数据采集系统设计
2.1 VFP技术介绍
VFP是Microsoft公司推出的数据库开发软件,提供多种可视化编程工具,最突出的是面向对象编程。支持结构化查询语言(SQL)命令和函数。由于其函数丰富、灵活方便、问世较早,在国内一段时期广为流行。目前最新的版本是9.0。时至今日,由于其稳定高效、易学易用,仍有大批高校将其作为小型数据库使用,不少网络教学管理系统前台软件也选用VFP开发。
2.2 系统设计目标
我们将VFP开发的网页数据采集系统应用于学校数字化资源建设子项目——开源版权的学习视频内容的采集,具体来说,是针对国外多所名校提供的开源版权视频源网址进行分析和数据爬取,最终将开源版权的文字和视频数据提取、索引并保存入学校的资源库。
2.3 系统功能结构
VFP开发的网页数据采集系统采用了模块化的设计,它由一些核部件和插件模块构成。核心部件可以配置,系统部件由管理控制台、抓取顺序控制器、中央控制器、流控制处理器、多线程控制组成。管理控制台允许操作者进行参数设置和任务管理。抓取顺序控制器控制爬取活动的排序和相关属性。抓取任务通过排序后将任务信息传递给中央控制器进行初始化。中央控制器吞吐队列的URL信息和完成的URL信息,并将任务指令传递给采集工作的核心工作区——流控制处理器。核流控制处理器的任务处理是呈流式运作的,包括预读、提取和写入三个部分。流控制处理器的工作是多线程了,保证了整个采集的高效率。
在采集的核心工作区——在流控制处理器中,工作的流程是这样的:首先在接到中心控制器传送来的队列URL后,开始预读,预读主要是做一些预处理工作,对处理进行延迟和重新处理。接着,进行提取工作,提取主要是获得http资源,进行ip转换,发出http头请求和接收响应,进而抽取目标HTML的标签。最后进行写入,写入的工作是存储爬取日志,返回爬取到的内容和抽取特性,过滤并作写存储的动作。这一流程完成后,流控制处理器会提交完成的URL给中央控制器,做最后的维护。(见图1)
图1 系统功能图
3 系统实现
3.1 程序运行的硬件环境
操作系统为Microsoft Windows XP或更高,内存为1G或更高,硬盘占用约230MB,数据爬取采用4MB ADSL宽带。
3.2 核心程序节录
3.3 实验结论
我们将VFP开发的网页数据采集系统应用于学校数字化资源建设子项目——开源版权的学习视频内容的采集,针对国外多所名校提供的开源版权视频源网址进行分析和数据爬取,并测试VFP开发的网页数据采集系统的性能,为后续的改进提供测试。我们确立四个指标,从数据采集的正确率、召回率、覆盖率和程序效率四个方面进行测试。正确率是指VFP开发的网页数据采集系统能否正确的提取URL,正确率越高,爬取的效果越好;召回率是指程序爬虫探测到的数据与能够爬取回来的数据的比值,召回率越高,爬虫的效果越好。覆盖率是指对指定网站采集的覆盖率,覆盖率要全;程序的效率是说VFP开发的网页数据采集系统采集的速度和稳定性。经过全天24小时无故障,不间断的运行,累计采集网页数据300多万页。数据采集的正确率、召回率、覆盖率和程序效率均得到理想的效果。
4 结束语
本文阐述了一个基于VFP技术的网页数据采集爬虫的一种工作流程和爬行算法,从链接和网页内容的分析和提取进行爬行控制,给出了具体实施的核心程序,测试结果比较满意。基于VFP技术的网页数据采集系统本身虽然属于轻量级,但针对高校数字化资源建设的需求现状,本文提出解决方案经过证明,能够高效的完成网页数据采集,是一种经济、实用、稳定和高效的网页数据采集方案。其对高校的数字化资源建设起重要作用。但是本系统的性能仍需提高,尤其在URL的优先权选择上需要进一步改进。
参考文献:
[1]张敏,孙敏.基于Heritrix限定爬虫的设计与实现[J].计算机应用与软件,2013,30(4):33-35.
[2]王永国,张士江,谢倩.基于Visual FoxPro环境ACCESS数据库操作的实现[J].计算机技术与发展,2011,21(1):95-99.
[3]孙庚,冯艳红,于红,史鹏辉.一种基于Heritrix的网络定题爬虫算法——以渔业信息网络为例[J].软件导刊,2010,9(5):47-49.
[4]王映,于满泉,李盛韬,王斌,余智华.JavaScript引擎在动态网页采集技术中的应用[J].计算机应用,2004,24(2):33-36.
[5]马爱芳,仲少云.基于VFP的资料室图书管理系统的设计[J].现代情报,2004,(3):104-108.