HI,欢迎来到学术之家股权代码  102064
0
首页 精品范文 计算机爬虫技术

计算机爬虫技术

时间:2023-09-15 17:30:51

开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇计算机爬虫技术,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。

计算机爬虫技术

第1篇

关键词:动态网页; AJAX; Web2.0; 网络爬虫

中图分类号:TP393 文献标识码:A文章编号:2095-2163(2013)06-0057-04

0引言

Web2.0是相对Web1.0的新一代互联网应用的统一名称。Web1.0的重要特征是用户通过使用浏览器获取静态的网络信息。Web2.0则侧重于用户与用户之间的交流和沟通,用户不仅作为网页内容的查看者,同时也是网页内容的创造者。所说的网页内容的创造者是指互联网上的所有用户不再只是互联网内容的读者,同时也成为了互联网内容的作者;不再仅是冲浪于互联网海洋之中,同时也是海洋波浪的制造者;在模式上由纯粹的“只读”变为“读写”进而发展成为“共同建设”;由简单被动地接收互联网信息转变为主动创造互联网信息,从而增加了互动,更加符合用户的使用习惯。

近年来,随着Web2.0的兴起,在Web开发中运用AJAX技术的网站越来越多,这些技术的应用带来了更好的用户体验、很多新概念和WebUI设计,同时,由于AJAX技术可以动态改变页面内容,改造了传统Web页面的结构,导致单纯抓取静态Web页面的网络爬虫抓取的内容少于页面呈现的内容,这些动态内容给网络爬虫的设计带来极大挑战,使得爬虫不能获取到网页页面所呈现的全部文本。

本文研究能够支持AJAX的网络爬虫的原理,实现一个支持AJAX且能够进行定制任务的网络爬虫,高效率地对网页信息进行采集。第1节介绍国内外对AJAX页面的抓取研究情况,第2节介绍支持AJAX的爬虫的设计及具体实现,第3节通过实验验证了支持AJAX的爬虫的可行性。

1相关工作

现阶段,主流的搜索引擎,例如:Yahoo!和Google等,都无法对AJAX动态网页建立索引,也就是说不能利用现有的搜索引擎来查询动态网页的内容。而能够支持AJAX的搜索引擎还处于研究阶段,罗兵使用基于协议的动态页面抓取方法,获取AJAX网页内包含的JavaScript代码片段,通过设计脚本语言解释器直接分析脚本代码,仿照浏览器功能顺序执行脚本文件,用来模拟页面的状态转换[1],肖卓磊在之后的研究中也采用了类似的处理方法[2];曾伟辉、李淼利用切片算法构造了程序层次模型,解决了有序执行JavaScript脚本的问题[3];Frey[4]和Matter[5]改进了开源的JavaScript解释器Rhino[6],用来实现状态转换和脚本执行。实现全部功能的脚本解释器较为困难,即便是已开发多年的Rhino项目,依旧有很多的脚本代码不能正常执行,于是,更多的研究人员将研究重点落定于嵌入式浏览器组件,运用组件来模拟AJAX页面的渲染并实现脚本的执行,以达到自动转换状态的目的;在国内,采用类似方法研究的是王映[7]和金晓鸥[8],研究对使用网络爬虫分析脚本语言的技术进行了一些研究,前者使用的是开源的JavaScript引擎SpiderMonkey,而后者利用的是Rhino。因其均解析了包含JavaScript脚本代码的动态页面,从页面中抓取了JavaScript代码,由此获得了网页上的URL,并实现了内容爬取。Frey和Matter扩展了Cobra工具集[9],完成了动态解析和加载HTML代码,然后在内部形成DOM结构树,并通过DOM树获取状态包含的内容。类似于状态转换问题,为了最大限度地利用现有的技术,多数的状态内容获得方式是采用嵌入浏览器组件作为运行AJAX容器,并使用浏览器的外部接口实现和DOM树的数据交互,由此而获得完整的内容[10-13]。

在控制转换方面,较为常用的方式是采用事件过滤机制,对已经过滤后的事件逐一进行触发。为了提高执行效率,Xia[12]和Duda[14]均提出让用户能够自定义过滤规则,也就是加入拒绝规则和接收规则,如此即使得只有在符合规则的集合里才能进行状态转换;Mesbah等采用面向领域的手工配置、HTML元素注解和全自动扫描三种方式来对状态转换进行控制[10];Matter则提出了一种启发式的爬行策略,尽量避免从不同路径进入相同的页面状态[5]。

2AJAXCrawler爬虫设计方案及实现

由于Web 2.0的流行,使用AJAX技术的网站越来越多,本文采用了Rhino引擎对AJAX进行了支持。

2.1 JavaScript引擎Rhino

Rhino采用Java语言实现的JavaScript脚本引擎。Rhino用在Java程序中,为最终用户提供脚本化能力。Rhino包含JavaScript编译器、JavaScript解析器、JavaScript调试等模块。下面即对脚本编译模块和脚本解释模块进行全面分析。

2.1.1脚本编译模块

编译器的输入是JavaScript代码,输出是JavaScript数据对象。JavaScript结构中包含了字节码、注释、string池、数据以及标识符。JavaScript中还包含Objects,函数等。其中,函数也是一段嵌套的JavaScript代码。编译器由以下三部分组成:随机逻辑(randomlogic)的词法扫描器,用来创建AST的递归下降分析器,tree‐walking代码生成器。编译过程是由函数Main.processSource()来完成的,将输入的字符串或者JavaScript代码转化成流文件进行编译。在编译过程中,所有的变量,符号以及命令等都由词法分析器进行解析,再利用内部特定的符号标识,放入对应的数据栈中,最后将得到的数据用树形结构返回,便于Rhino引擎编译。在少分号或者是可赋值表达式等情况下,用语义和词法的反馈(feedback)机制来消除歧义。编译器没有错误校正,因此,只要遇到错误,就立即停止。另外,编译器还在编译完成的script结构中加入sourcenotes信息,以便用户调用toSource()函数进行反编译时使用。

2.1.2脚本解释模块

类似大多数的JavaScript引擎,Rhino的interpreter是一个单线程的大型循环函数,该函数每次解释bytecode的一个指令。在这个大型函数中,采用的是switch语句,即根据所要执行的bytecode的不同,跳转到不同的执行代码段中。大多数情况下,如果一段JavaScript代码调用另一段JavaScript代码,则引擎只会使用JavaScript的栈空间,interpreter也是顺序执行的。但如果JavaScript代码调用了java代码,再由java代码调用JavaScript代码,就会引起interpreter的重入问题。需要一提的是,这个大型函数是可重入的。对于interpreter所需要的各种状态都是通过参数的形式在interpreter函数进入时完成传递的。绝大多数的状态都保存在数据结构Context中。因此,在Rhino里,所有的公共API接口以及大部分的函数接口中,第一位参数均是一个Context的指针。

2.2 AJAX爬虫架构设计

爬虫系统分为两部分,第一部分是预处理阶段,这个阶段实现URL净化,并去除不必要抓取的URL,类似于过滤器的功能。第二部分是网页真正抓取的部分,由于网页下载比较耗时,为了充分利用资源,此处采用了多线程。抓取阶段获得网页,析出网页内部的链接,而后进行预处理。并不是每个网页内部的链接都是需要抓取的,网页内部的链接可能包含以前抓取过的重复URL,Robots协议禁止抓取的URl等。CleanURLs是经过净化后的URL库,里面存放的都是需要抓取的URL。爬虫的架构如图1所示。

2.3AJAX引擎设计

AJAX引擎提供对网页中AJAX的支持,能够对网页中的js代码进行解析、执行,由此得到网页动态内容。AJAX引擎架构如图2所示。

由图2中可见,AJAX引擎主要有三个组成部分。对AJAX页面的解析按照下面的顺序进行。

(1)Crawler通过HTTP请求,获取需要抓取的页面。此时的页面是一个含有AJAX代码的页面,其中没有真正的内容;

(2)DOMBuilder对页面进行分析,建立DOM树,提取出其中的JS代码,触发相应的事件;

(3)将AJAX代码送入JavaScript引擎执行,在执行的过程中,同时根据JS对象与HTML对象映射修改HTML对象;

(4)将执行结果重新组合生成新的页面内容,返回给Crawler。

3实验数据结果

实验基于Java平台,开发环境采用Eclipse,Java虚拟机版本为JDK1.6.0,Rhino版本为1.7R2,实现AJAXCrawler。本文主要对AJAXCrawler进行了吞吐量的测试,并与普通的爬虫进行下载速度的对比。

3.1吞吐量实验

吞吐量实验是测试AJAXCrawler数量以及每个AJAXCrawler启动线程数与下载速度的关系。若启动的AJAXCrawler或者每个AJAXCrawler中的线程数太少,则系统不能完全利用计算机的资源,反之则会因为带宽、数据竞争等而降低效率。测试机器为一台普通PC机,硬件配置以及软件配置如表1所示。

表1服务器配置表

Tab.1 Server configuration listCPU2 * AMD Athlon(tm)ⅡX2 215 Processor 2.70GHz网卡100Mbps内存2.00GB操作系统Windows 7JAVA环境JRE 1.6.0_24

AJAXCrawler测试任务为天涯博客,通过改变AJAXCrawler以及每个AJAXCrawler内线程的数目,测得的数据如表2所示,绘制成折线图,如图3所示(单位:页面数/10分钟)。

由表2和图3可以看出,在当前的计算环境和网络环境下,当选取任务数为3,每个任务内有3个线程的时候,系统运行效率达到较优,平均每10分钟能够下载网页1 679页。

3.2AJAXCrawler与普通爬虫比较实验

此实验以网易的评论为测试对象,分析AJAXCrawler的效率。由于普通爬虫无法抓取到动态内容,此处的量化指标不再以页面数/10分钟作为单位,而是选择Kb/second作为单位。测试结果如表3所示,绘制成折线图如图4所示。

由表3和图4可以看到,AJAXCrawler无论是几个任务并发执行,都相应地比普通的WebCrawler下载速度慢。除去实验环境偶然因素外,最主要的影响因素应该是AJAXCrawler对AJAX脚本的解析和DOM树的更新操作。因为AJAXCrawler在关闭掉动态页面支持时,速度跟普通WebCrawler相差不大。图4中的两条线几行,表明两种爬虫此时的加速比也相差不多。而AJAXCrawler的加速上升趋势已开始走缓,这就说明AJAXCrawler需要更多的资源。另外,若对比下载的页面数,两者相差了十余倍,而下载速度却相对不是很大,进一步说明了动态网页包含的内容丰富。

4结束语

本文设计的能够抓取支持AJAX动态网页的网络爬虫,在抓取动态网页方面,取得了良好的结果。与普通爬虫相比,AJAXCrawler的下载速度稍慢,主要是对AJAX脚本的解析和DOM树的更新会相对浪费时间。不过,下载的页面数与普通爬虫相比,数量却多出了十余倍,抓取的内容会比普通爬虫的内容要丰富很多。

参考文献:

[1]罗兵.支持AJAX的互联网搜索引擎爬虫设计与实现[D].杭州:浙江大学,2007.

[2]肖卓磊.基于AJAX技术的搜索引擎研究[D].武汉:武汉理工大学,2009.

[3]曾伟辉,李淼.基于JavaScript切片的AJAX框架网络爬虫技术研究[J].北京:计算机系统应用,2009,18(7):169-171.

[4]FREYG.Indexing AJAX Web Applications. Zurich:Swiss Federal Institute of Technology Zurich,2007.

[5]MATTERR.AJAXCrawl:Making AJAX Applications Searchable. Zurich:Swiss Federal Institute of Technology Zurich,2008.

[6]MOZILLA.Rhino:JavaScript for Java.[2009-03-22].

[7]http:///rhino/.

[8]王映,于满泉,李盛韬.JavaScript引擎在动态网页采集技术中的应用[J].计算机应用,2004,24(2):33-36.

[9]金晓鸥,钟宝燕,李翔.基于Rhino的JavaScript动态页面解析研究与实现[J].计算机技术与发展,2008,18(2).

[10]COBRA.JavaHTMLRenderer&Parser.[2009-01-19].

[11]http:///cobra.jsp.

[12]MESBAHA,BOZDAGE,VANDEURSENA.Crawling AJAX by inferring user interface state changes[C]//Proceedings of the 8th International Conferenceon Web Engineering, YorktownHeights,NJ.Washington,DC,USA:IEEE Computer Society,2008:122-134.

第2篇

由于信息技术的不断提升,互联网技术的发展也是日新月异,越来越多的人们开始体验互联网所能带来的一些福利的同时,也参与到其中,成为网络信息的者和传播者。所以,传统搜索引擎的局限性也将体现出来,针对与这一问题,垂直搜索引擎在特定的领域进行了细化和延伸,以此来弥补传统搜索引擎所带来的不足,它利用主题爬虫技术对网络上某个或者多个主题的相关信息进行爬取、信息整合并且索引,这样就可以有效的采集页面信息,与此同时也节省了网络资源和系统资源。

【关键词】垂直搜索引擎 主题爬虫 网络

1 主题爬虫概述

1.1 通用爬虫

网络爬虫是一个能够自动浏览WWW的网络机器人,主要目的是为了进行网络索引。网上的任何信息数据都是需要用爬虫来获得的,不论是用通用搜索引擎还是垂直搜索引擎。

1.2 主题爬虫

主题爬虫和通用爬虫有着本质的区别,通用爬虫不筛选主题等任何信息,全盘接受,而主题爬虫则需要有特定的目标,并进行与此目标相关的定向爬行,以此来对互联网上的网页进行筛选索引。在进行爬行之前,首先要对网页的主题进行相关性分析,若和指定的主题有一定的相关性,则将网页进行保存,再利用垂直搜索进行索引;否则放弃该网页。

1.3 主题爬虫的体系结构

主题爬虫系统是在一个繁杂的网络环境下,爬行尽可能多的与主题相关的一些资源信息,过滤删除无关的资源信息,以此来提高爬虫的性能、扩大资源的利用率并且能够更好地位垂直搜索引擎服务。

2 搜索引擎基本原理

搜索引擎是一个非常繁杂的系统,一般来说,现在的大规模搜索引擎都采用网页搜集、网页预处理和查询服务这三个阶段作为工作流程,如图1所示。

3 主题爬虫算法的理论基础

3.1 主题爬虫的工作原理

网络爬虫采集网络信息时,首先,从一个“种子集”(链接)出发;然后,将之前检索到的符合主题的网络信息提取它的子链接,并对其所在的页面进行信息提取;不断重复上述过程以此来实现遍历Web信息。

3.2 相关算法的研究比较

如表1所示。

4 总结

垂直搜索引擎是搜索技术目前比较火热的研究方向之一,其中,主题爬虫是垂直搜索引擎的数据来源,爬虫抓取速度是否够快、抓取的网页是否具有主题高相关度、去除重复网页的能力如何这些方面都对垂直搜索引擎起着重要的影响一,相比较通用网络爬虫,主题爬虫下载的网页质量更好,主题覆盖率更高,能有效的节约网络带宽。

参考文献

[1]Dawson,S.'Seeing' the learning community:An exploration of the development of aresource for monitoring online student networking[J].British Journal of Educational Technology,2010,41(05):736-752.

[2]彭涛,孟宇,左万利,王英,胡克.主题爬行屮的隧逍穿越技术[J].计算机研究与发展,2010,47(04):628-637.

[3]彭涛.面向专业搜索引擎的主题题爬虫技术研究[D].吉林大学(博士学位论文),2007.

第3篇

关键词:新浪微博;数据爬取;微博爬虫;Python

中图分类号:TP391;TP311 文献标识码:A 文章编号:2095-1302(2016)12-00-04

0 引 言

随着互联网的不断普及,人们越来越多地参与到互联网的社交活动中,微博作为典型的互联网社交活动,得到了迅速发展。新浪微博是国内出现最早,也是规模最大的微博社区,新浪微博数据中心的“2015微博用户发展报告”指出:“截止2015年9月,微博月活跃人数已达到2.22亿,较2014年同期相比增长33%;日活跃用户达到1亿,较去年同期增长30%。随着微博平台功能的不断完善,微博用户群逐渐稳定并保持持续增长。”[1]

微博用户群的增长使得基于微博数据的社交网络分析[2]、用户行为分析[3, 4]和网络数据挖掘[5]等相关研究越来越受到人们的重视,而如何从微博爬取感兴趣的数据则成为研究者要解决的首要问题。本文分析微博数据的爬取方式,提出一种基于Python模拟浏览器登录的微博数据爬取方案,并讨论针对微博反爬机制的相关处理。

1 微博数据的爬取方式

微博数据的爬取通常有两种方式,一种是调用新浪微博开放平台提供的微博开放接口,另一种是开发爬虫程序,模拟微博登录,分析获得的HTML页面,提取所需信息。

1.1 调用微博开放接口

新浪微博开放平台[6]提供了二十余类接口,覆盖了微博内容、评论、用户及关系的各种操作,理论上该方法是最直接、方便的方式。但新版的微博开放接口存在一些限制,对于小型研究团队或个人而言不是很方便,突出表现在以下几点:

(1)微博开放接口使用Oauth2.0认证授权,如果希望得到另外一个用户的个人信息和微博内容,则必须由该用户授权;

(2)微博开放接口存在访问频次限制,对于测试用户的每个应用,每小时最多只能访问150次;

(3)很多研究所需要的数据只能通过高级接口才能访问,需要专门申请和付费。

正是因为这些限制的存在,自己设计开发网络爬虫程序获取微博数据就成了必不可少的备选或替代方案。

1.2 开发微博爬虫程序

设计开发微博爬虫程序需要分析新浪微博的特点、明确爬取数据的目的及用途,选择合理的开发语言,保证高效、稳定地获取微博数据。

1.2.1 新浪微博的特点

与一般网站相比,新浪微博具有以下特点:

(1)新浪微博面向登录用户,在访问微博数据前,用户必须先登录;

(2)微博博文的显示采用了延迟加载机制,一次只显示一个微博页面的部分博文,当用户浏览博文滚动到底部时,才继续加载当页的其他博文;

(3)新浪微博有较完备的反爬虫机制,一旦微博服务器认定爬虫程序,就会拒绝访问。

基于新浪微博的上述特点,在设计微博爬虫时,需要对以上特点进行针对性处理。

1.2.2 开发语言选择

从快速获取微博数据的角度看,Python是开发微博爬虫的首选语言,其具有如下特点:

(1)Python是一种解释型高级语言,具有文字简约、容易学习、开发速度快等特点;

(2)Python具有较丰富的库及第三方库,在开发爬虫方面比其他语言方便。考虑新浪微博在一段时间后就会微调其数据格式,因此使用Python开发微博爬虫程序具有较高的易维护性。

2 微博爬虫的实现

2.1 微博爬虫的框架结构

本文讨论的微博爬虫程序包括爬虫调度器、URL管理器、页面加载器、HTML解析器和数据输出器五个功能模块,其框架结构如图1所示。

图1 微博爬虫的框架结构

2.1.1 爬虫调度器

爬虫调度器是爬虫的控制程序,主要负责协调和调度微博爬虫的各个模块,其核心功能包括以下几项:

(1)实现爬取微博数据的流程;

(2)控制其他模块的执行;

(3)模拟浏览器登录,为页面请求添加Headers信息;

(4)控制微博访问频率,避免反爬虫机制拒绝访问。

2.1.2 URL管理器

微博爬虫采用广度优先遍历策略提取需要的数据,URL管理器需维护已经爬取的URL列表和等待爬取的URL列表。在得到新URL之后,首先检查已经爬取的URL列表,如果该URL不在列表中,则将其添加到等待爬取的URL列表。

2.1.3 页面加载器

页面加载器根据爬虫调度器提供的Headers信息以及URL管理器提供的URL,向微博服务器发出请求,获得所请求的HTML页面。为了避免爬取过于频繁,导致微博服务器无法及时响应,或被服务器反爬虫机制拒绝访问,页面加载器采用定时机制限制加载页面的频率。

2.1.4 HTML解析器

HTML解析器对页面加载器提供的HTML页面进行解析,获取需要的数据。如某位微博用户发表的博文内容、转发数、点赞数、评论数等。同时HTML解析器会根据需要将新得到的URL反馈给爬虫调度器。

2.1.5 数据输出器

数据输出器输出HTML解析器解析后的数据。输出的数据采用JSON格式,其格式与使用新浪微博开放平台API获取的数据格式基本一致,保证不同爬取方式得到的数据能够被统一分析和处理。

2.2 模拟浏览器登录

要访问微博数据,必须要先登录。可以用爬虫程序模拟微博用户登录[7, 8]。爬虫程序首先向微博用户服务器发送登录请求,然后接收服务器返回的密钥,再结合用户名、密码、服务器返回的密钥生成验证信息,登录服务器。只要保持与服务器的Session会话,就可以从服务器获取微博数据,从而进一步分析。

这种做法实现比较复杂,并且需要了解服务器验证信息的细节。因此采用另一种相对简单的做法,即本文微博爬虫的做法。首先在浏览器中登录微博,然后使用浏览器提供的开发者工具查看请求页面的请求头信息。例如使用Firefox登录微博后,利用Firefox提供的开发者工具可以看到如图2所示的请求头信息。

从图2可以看出,“Referer”的内容是访问微博的URL,其中“”是当前用户在微博的唯一标识id;“Connection”的值为“keep-alive”,标识Cookie永不过期;“Cookie”的内容是成功连接微博服务器后保存在本地的Cookie,利用它可以简单、快速地访问新浪微博。首先需复制“”的内容,然后在Python中定义headers对象,设置Cookie和Connection,最后在每次访问微博页面时,都将headers作为参数添加到Request对象中,得到微博页面。这样在Cookie的有效期内就可以直接访问微博,并提取自己需要的数据。采用这种做法,只需以下代码就可以实现微博的登录并简单获取页面数据:

headers = {'Cookie': ‘’,’Connnection’:’keep-alive’}

url = u'http:///u//home?wvr=5&lf=reg'

request = urllib.request.Request(url, headers=headers)

rsponse = urllib.request.urlopen(request)

page = response.read()

2.3 微博页面解析

爬虫程序成功登录到微博,获取微博页面后,就可以对得到的HTML脚本进行解析,提取需要的数据。一条博文的数据主要包括发表博文的用户昵称、用户Uid、主页链接、博文内容、发表时间、转发数、评论数、点赞数等。除此以外,转发其他用户的微博是非常常见的现象,因此在提取博文数据时,也需要考虑被转发的微博用户的相关数据信息。

进一步分析微博页面可以发现,每一条博文均是以开始,内部以标签形成树结构,其主结构如表1所列。

一条博文

博文的具体内容

发博文用户的昵称、Uid、主页链接

博文的发表时间

博文内容

被转发的博文信息

博文的转发数、评论数、点赞数

但博文的数据表示并不统一。发博文用户的昵称、Uid、主页链接以属性形式存放于标签中,博文的发表时间以属性形式存放于标签中;博文内容直接以HTML文本形式存在

一种处理办法是多次发送模拟HTTP请求的GET方法,构建响应的URL,完成整页加载[8];另一种处理办法是使用selenium模拟浏览器滚动条操作,在Ajax加载后再获取页面数据,这种方法的参考代码如下:

from selenium import webdriver

from mon.exceptions import TimeoutException

from mon.action_chains import ActionChains

driver = webdriver.Firefox()

driver.set_page_load_timeout(30)

def scroll(driver):

driver.execute_script("""

( function () {

var y = document.body.scrollTop;

var step = 100;

window.scroll(0, y);

function f() {

if (y < document.body.scrollHeight) {

y += step;

window.scroll(0, y);

setTimeout(f, 50);

} else {

window.scroll(0, y);

document.title += "scroll-done";

}

}

setTimeout(f, 1000);

""")

3 反爬虫机制及对策

如果爬虫爬取过“猛”,就会为微博服务器带来不小的压力。新浪微博有比较完备的反爬虫机制,用以识别和拒绝爬虫访问。虽然新浪官方并没有提供具体的反爬虫机制说明,但是通过分析常用的反爬虫策略[9],可以发现主要的爬虫识别方法有以下几种:

(1)通过识别爬虫的User-Agent信息来拒绝爬虫;

(2)通过网站流量统计系统和日志分析来识别爬虫;

(3)通过实时反爬虫防火墙过滤爬虫。

为了避免微博反爬虫机制拒绝访问,本文的微博爬虫采取了伪装User-Agent与降低请求访问频率来反爬虫对策。

3.1 伪装User-Agent

User-Agent用于描述发出HTTP请求的终端信息。浏览器及经过企业授权的知名爬虫如百度爬虫等都有固定的User-Agent信息,本文讨论的微博爬虫伪装浏览器通过微博登录来爬取特定数据。在请求头headers中,采用交替伪装User-Agent的方法来避免爬虫User-Agent的识别和访问流量统计异常。

例如以下四个User-Agent信息,分别从使用Windows Edge、Firefox、Chrome和360浏览器访问微博时的请求头中提取。

Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586

Mozilla/5.0 (Windows NT 10.0; rv:47.0) Gecko/20100101 Firefox/47.0"

Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36

Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36

在Python中定义headers对象时,交替随机选择其中的一条添加到headers对象中,将爬虫的HTTP请求伪装成某个浏览器的访问。

3.2 降低请求访问频率

如果爬虫程序爬取过于频繁,则会降低微博服务器的响应效率,影响一般用户的正常使用。反爬虫防火墙往往会根据请求的访问频率来判断客户端是一般用户的人工操作还是爬虫程序的自动运行。因此适当降低爬虫程序的请求访问频率既可以避免连接超时错误的发生,还可有效应对反爬虫机制。

4 结 语

综上,本文实现的微博爬虫能够有效爬取新浪微博数据,实现简单、性能稳定,并能较好的避免反爬虫机制的检测。其具有如下主要特点:

(1)直接获取已登录用户的Cookie,避免了模拟登录的繁琐;

(2)基于lxml解析微博数据,简化了数据筛选的操作;

(3)使用selenium模拟滚动条滚动,解决了Ajax延迟加载页面的问题;

(4)使用伪装User-Agnet以及延迟访问来避免反爬虫机制的过滤。

但该设计的主要缺陷是没有使用多线程导致爬取效率不高,不适用于海量数据爬取,用户可根据需要进行适当改动。

参考文献

[1]新浪微博数据中心.2015微博用户发展报告[R].2015.

[2]曹玖新,吴江林,石伟,等.新浪微博网信息传播分析与预测[J].计算机学报,2014(4):779-790.

[3]叶勇豪,许燕,朱一杰,等.网民对“人祸”事件的道德情绪特点――基于微博大数据研究[J].心理学报,2016,48(3):290-304.

[4]王晰巍,邢云菲,赵丹,等.基于社会网络分析的移动环境下网络舆情信息传播研究――以新浪微博“雾霾”话题为例[J].图书情报工作,2015,59(7):14-22.

[5]丁兆云,贾焰,周斌.微博数据挖掘研究综述[J].计算机研究与发展,2014,51(4):691-706.

[6]微博开放平台API文档[EB/OL].http:///

[7]周中华,张惠然,谢江.基于Python的新浪微博数据爬虫[J].计算机应用,2014,34(11):3131-3134.

第4篇

关键词:档案检索 垂直搜索引擎 技术

计算机技术和网络技术的快速发展推动了档案信息化的发展。但是,我国档案信息化建设还处于初步发展阶段,存在许多问题,一些档案馆只提供档案目录的简单检索而不能提供智能化或专门用于档案领域的搜索服务,各类档案资源成为信息孤岛。如何充分利用现有档案资源,提高档案利用率成为我们急需解决的问题。搜索引擎作为互联网发展的核心技术,将互联网上各种不同格式的网络资源搜集并整理,挖掘其中大量隐含资源,提供海量数据服务于用户,在各行各业发挥着重要的作用①。垂直搜索引擎是在普通搜索引擎的基础上发展而来的,是指专门针对某一特定领域的搜索引擎。档案垂直搜索引擎就是将搜索引擎技术引入档案领域,构建面向档案领域的搜索引擎,该搜索引擎可以大量收集互联网上档案相关资源,进行优化整合,提供给用户具有价值的档案信息,最大限度的满足档案用户的需求。

一、垂直搜索引擎

搜索引擎一般分为通用搜索引擎和垂直搜索引擎,百度、谷歌、搜狗等均属于通用搜索引擎,通用搜索引擎是针对互联网上所有网站的信息进行搜集和检索,其范围覆盖了各个领域和各个行业。垂直搜索引擎是一种特定面向主题的专业搜索引擎,是针对某一特定领域、某一特定人群或某一特定需求,面向某一特定的用户群体,提供更有价值、更准确的信息服务,是通用搜索引擎的细分和延伸②。与通用搜索引擎相比,垂直搜索引擎具有如下特点:

第一,垂直搜索引擎面向特定的领域,其信息量相对较小,但对其特定领域资源的覆盖率较高,信息质量较高,保证了搜索引擎对本领域信息搜集的全面性和实时性。

第二,垂直搜索引擎只涉及特定的领域,用语中出现一词多义的可能性比通用搜索引擎小很多,通过利用特定领域的专业词库,可以保证信息检索的准确性。

第三,网络爬虫在采集特定领域的信息后,需要对该信息进行结构化提取,并进行深度处理,这样就保证了网页信息抽取的准确性,提高用户的查询效率。

二、技术介绍

是一个由c#开发的开源全文索引库,是从apache的lucene项目移植到.Net平台上的③。的开源代码分为核心包和用户接口包,核心包用来实现搜索功能,用户接口包来用实现高亮显示等辅助功能。的核心包是由7个子包组成:

(1) 索引管理包(.Index):实现索引的建立、删除和文档中词的排序;(2) 检索管理包(.Search):利用折半查找进行检索,返回结果;(3) 数据存储管理包(.Store):实现数据存储等IO操作;(4) 公用算法包(.Util):封装了一些常用的函数;(5) 文档结构包(.Documents):描述索引存储中文档结构的管理和操作;(6) 查询分析器包(.QueryParsers):解析查询串,构成查询对象,通过检索器对其调用,返回查询结果;(7) 语言分析器包(.Analysis):用于切分放入索引的文档和查询词,可以通过对Analysis进行扩展来实现对自然语言的处理。

三、基于的档案垂直搜索引擎的设计与实现

1.系统的总体设计

基于的档案垂直搜索引擎的设计与实现是在windows平台下进行的,开发工具是Visual Studio 2010和SQL Server 2008数据库。垂直搜索引擎主要是由采集模块、索引模块和检索模块组成。系统的总体设计方案如图1,首先,利用面向档案的主题爬虫通过互联网抓取档案信息。然后利用分词工具对抓取的档案信息进行处理,并建立档案信息对应的索引。最后,由用户输入的关键词,根据已建立的索引进行检索,并返回查询结果给用户。

2.采集模块

(1)普通的网络爬虫是从一些种子站点出发,下载种子URL的网页,分析网页中的超链接,并遍历这些超链接,在遍历链接下载网页的同时,提取网页中有用的信息存储在本地。这种爬虫是不适合档案领域的,因为档案领域的爬虫需要搜索的网络范围有限,它不需要去搜索整个互联网,只需要搜索一些指定的档案网站就可以。所以,数据采集模块的核心就是建立一个档案领域的主题爬虫。该主题爬虫的实现方法是:(1)预先定义好要从哪些档案类网站进行信息采集,将要采集档案网站的URL地址作为初始地址放入到一个专门队列URL Queue中,该队列是用来记录网络爬虫需要遍历访问的所有URL地址,如上图(2)。

(2)从爬虫队列URLQueue中,提取出队列的第一个URL地址,并下载该URL地址对应用的网页。如上图中的(2)。

(3)网络爬虫下载的网页是以文本格式返回的,文本的内容是含有html标签的网页源文件。网页解析器是将网页源文件作为字符串,通过定义不同的正则表达式与该字符串进行匹配,并从网页中提取需要的信息,去掉无关的信息和html标签。上图中的(3)就是利用网页解析器分析下载的网页,提取网页中含有的所有超链接存入一个用来存储链接地址的列表List中,同时,从网页中解析出档案文件的题名、关键词、内容、时间、责任者等信息。

(4)将从网页中解析出的档案题名、关键词、内容、时间、责任者等信息添加到数据采集库中。在添加数据前,需要对每条档案数据进行,防止相同的数据多次插入数据库而影响系统的运行效率。如上图中的(4)。

(5)对于从网页中提取出来的所有超链接,利用Page Rank算法计算每个超链接与档案主题的相关度,链接的相关度越高,说明该链接指向的网页越具有较高的价值。通过对每个超链接与主题相关度的计算,排除不相关的链接,将与主题相关的链接加入到网络爬虫要访问的队列URL Queue中。

循环重复(1)至(5)的步骤,直到爬虫队列URLQueue为空的时候,说明网络爬虫已经遍历了所有与档案主题相关的网页,同时,相关档案信息也被采集到了数据库中。

3.索引模块

档案信息被采集到数据库后,就可以对每条信息建立索引了。建立索引的核心是分词,分词的质量会直接影响搜索引擎的搜索速度和搜索精度,由于英文单词是以空格来分开的,所以英文分词相对比较容易,而中文分词就复杂多了,这是因为汉字的排列组合不同,可能使得相同的汉字具有不同的含义,比如“上海”和“海上”虽然由相同的汉字组成,但是其排列方式不同就使得两个词汇的含义完全不同。由于提供的中文分词(CJKTokenizer和ChineseTokenizer)功能较弱,所以应用基于词库的分词方法MMAnalyzer,其分词原理是建立专业词库,并依据词库中的词汇进行分词处理。这样做虽然延长了分词处理时间,却使得分词效果更加理想。建立索引的过程如下:

(1)提取采集模块中采集的数据,返回结构化的数据。如上图中的(6)。

(2)要对一条数据进行索引,需要将该数据转化成中的Document格式。如上图中的(7)。

(3)利用MMAnalyzer分词工具对Document数据进行分词,过滤停用词,建立文档与关键词的倒排序索引。倒排序索引是相对于正向索引而言的,是指建立关键词到文档的映射关系,通过单词来索引文档。最后,建立文档的索引到索引库。如上图中的(8)。

4.检索模块

检索模块是根据用户输入的关键词,进行分词处理、过滤处理,并将检索条件封装到查询分析器QueryParse中,通过QueryParse完成检索,返回查询结果,查询结果是与关键词相关的文档集合,这时文档的数目可能很大,会按照这些文档与关键词的相关度由大到小进行排序。,与关键词相关度高的文档排在搜索结果的前面,所以,在每次检索的时候,都需要按照关键词对检索到的所有文档进行评分,根据分值来判断文档与关键词的相关程度。是采用向量空间检索模型,通过Tf-idf算法来计算关键词与文档的相关度来给每个文档进行评分。检索模块的具体实现如下:

(1)用户输入关键词,如上图中的(9)

(2)分词工具对关键词进行分词切分,停用词过滤等处理,如上图中的(10)

(3)将分词后的词汇组成查询条件,封装到查询分析器中,如上图中的(11)

(4)查询分析器通过与索引库中的索引进行匹配,检索得到与关键词匹配的所有文档,如上图中的(12)

(5)通过索引模块中建立的文档倒排序索引,利用Tf-idf算法对所有匹配文档进行文档评分,如上图中的(13)

(6)按照匹配结果中对每个文档的评分,对匹配结果进行相关度排序,与关键词相关度高的文档排在匹配结果的前面,如上图中的(14)

(7)将经过排序的文档以Hits对象的方式返回用户,完成检索任务,如上图中的(15)

四、结束语

目前,我国档案领域的搜索引擎技术还相对滞后,研究和开发档案垂直搜索引擎意义重大。在全文索引库的基础上,开发档案领域的垂直搜索引擎,有利于快速准确的定位到具有价值的档案资源,为档案用户提供更有效更专业的信息服务。

项目基金:高校青年自然科学基金(52WU1002)基于.Net的电子档案管理系统开发与利用

注释:

①王振华.档案领域垂直搜索技术的研究与实现[D].上海:东华大学,2010

②刘朋.基于lucene的垂直搜索引擎关键技术的研究应用[D].武汉:武汉理工大学,2009

第5篇

【关键词】网络爬虫 主题相关度 网络蜘蛛 权值

1 引言

主题爬虫技术更加注重某个专业领域的信息,针对某个主题收集相关专业领域的数据。由此诞生出的主题搜索引擎擅长对某类信息提供检索服务,更加注重信息的深度和精确性,必将成为搜索技术领域的新趋势。所以,主题爬虫技术抓取到的数据的优劣直接决定了主题搜索引擎的的质量的高低。

2 主题爬虫的策略

主题爬虫主要实现对链接的智能取舍和对网页的智能过滤,只爬行它认为与主题相关的网页并且下载存储。

2.1 “待访问队列”初始化

初始网页队列的选取直接影响到爬行到的网页与主题的相关程度。首先指定初始种子URL,当然这个URL在某个专业领域是比较知名的,本文采用关键词集来确定主题,指定几个不同关键词来描述(反应)某个主题,其中每个关键词指定不同的权值,使用特征提取的方法给每个关键词指定不同的权值。针对给定的权威网页,程序提取每个关键词在权威网页中出现的词频来表示关键词的权值,这个赋予关键词的初始权值称之为初始关键词的权值,给出关键词集的定义:

HashtablekeyWords = newHashtable();

通过计算每个关键词在初始的URL指向的网页内容中出现的次数,给每个关键词赋予初始的权值。对初始URL的网页进行链接的提取,我们对所有的提取的URL的权值均赋值为最大值1。将每个链接抽象为自定义的PriorityURL类型后,存放在队列中,为了在队列中能够按照类的某个属性(这里指每个URL的权值)进行自动排序,排序的目的是为了我们从队列中能够优先获取权值大的URL进行爬虫,这样就能够保证爬虫能够最大限度的爬取跟我们主题相关的网页,为了实现这一功能,自定义类PriorityURL的时候,它需要实现接口Comparable,并重写compareTo()方法。这样实现了自定义类型能够按照某个属性进行排序,需要把类的多个实例(URL对象)储存在一个可以实现排序的队列中,下面给出队列的定义:

PriorityBlockingQueuewaitforHandling = new PriorityBlockingQueue();

从初始URL页面中提取出的链接并赋予权值为1后抽象成PriorityURL的实例添加到“待访问队列”waitforHandling中,这样队列中的URL会按照权值从大到小排队,我们每次去访问队头即权值最大的URL,从而保证优先访问与主题相关度大的链接。

2.2 网页与主题相关度计算

在对“待访问队列”完成初始化后,只是预先估计了链接URL与主题相关的程度大小。这个URL是否与我们的主题是否相关,必须使用量化的指标来判断,首先规定一个阈值,当计算出的相关度值大于这个阈值时则认定为符合要求,否则认为它与主题无关。通过这个URL所指向的页面内容来判断是否相关,因此对于这个URL要下载其页面内容,这里对要判断的这个URL我们称之为目标URL,根据初始指定的关键词集,计算所有关键词在目标URL网页中出现的词频(权值)。计算目标网页与主题相关度的大小使用余弦度量法。我们已经统计出关键词在目标网页中的权值,关键词的初始权值已经在权威网页中得到,利用公式1可以求得主题相关度的大小值。

(1)

其中Wαi表示设定的第i个关键词的初始权值,Wβi表示目标网页中第i个关键词的权值。

2.3 “待访问队列”的维护

计算出目标URL与主题相关度大小后,与我们指定的阈值(小于1)进行比较,一般来说,指定的阈值为0.9,指定的阈值越大,爬虫爬取的URL与主题密切度越大,但爬取到的相关网页的数量较少;若指定的阈值较小,则爬虫程序能够爬取到大量的网页,不乏其中有与主题相关度较小的网页。所以这里阈值的指定由用户自行选择。如果计算出的余弦值小于阈值,则认为它与主题无关,直接丢弃,爬虫继续从“待访问队列”中读取权值最大的URL继续爬行。若计算出的余弦值大于阈值,保存这个URL,这个URL就是符合要求的,进而提取其中包含的所有链接,计算链接的权值,构造PriorityURL实例放入“待访问”队列中。提出基于页面内容评估链接的最优最先爬取策略计算URL权值的算法:

(i) 根据余弦度量法公式计算一个页面与主题的相关度,记为γ。

(ii)提取该页面包含的所有链接。

(iii)计算页面中链接的总数量,记为t。

(iv)计算这个URL的级数(层数),即URL中根据“/”分割的层次数目,记为l。

利用公式γ/(t*l) 得到所有链接的权值,生成PriorityURL对象保存在“待访问队列”中。这样就使得爬虫能够循环往复,无限扩展爬取的范围,直到满足用户的需求。

3 结语

本文主要讲述主题网络爬虫程序的功能需求及爬去算法,对最有最先算法进行了改进,提出了基于页面内容评估链接的最优最先爬行策略,实验证明,主题爬虫搜索到的数据与主题保持了很好的相关度,更加有利于对某个专业领域内数据的深度挖掘。

参考文献

[1]王芳.深入解析Web主题爬虫的关键性原理[J].微型电脑应用,2011,(15).

[2]刘汉兴.主题爬虫的搜索策略研究[J].计算机工程与设计,2008,(3).

作者简介

高占江(1989-),男,山东省潍坊市人。硕士学位。现为青岛科技大学助教。研究方向为应用软件研发。

韩丹(1989-),女,山东省潍坊市人。硕士学位。现为青岛科技大学助教。研究方向为应用软件测试。

第6篇

1系统总体设计

1.1系统目标利用Hadoop平台对大数据的处理能力,对系统采集的信息用基于Hadoop的KNN算法进行处理分析,使得处理后的竞争情报信息可以快速、准确地显示在用户操作界面,让用户可以及时了解到自己所关注的信息.管理员通过系统,可以及时进行信息的采集,并对信息进行处理,普通用户通过系统可以个性化的订制竞争对手的信息情报,并进行检索.

1.2系统总体架构系统总体架构如图1所示.1)应用层.在顶层提供统一信息门户,为客户提供各种信息和知识服务的窗口,同时也是平台管理的入口.2)支撑层.提供文本挖掘和智能分析,以及基于MapReduce并行计算等功能模块,支持对海量数据的检索、挖掘、分析和服务等功能.3)数据层.数据层汇聚行业资源信息,形成统一规划的数据库,便于应用服务.4)采集层.建立各种数据源相应的数据适配器,实现对各种数据源的数据在线检测和自动采集.5)数据源.数据源是平台建设的重要外部资源,是平台体系架构的一个虚拟层次,包括大量的行业信息源、用户录入企业信息等数据来源.6)身份认证和安全体系。平台安全系统设计除了包含计算机网络、主机、应用系统等进行安全规划之外,系统运行的安全设计也是安全规划的重要内容之一.7)运行维护保障体系.运行维护保障机制包含统一性和标准性、公众服务性、专业性、权威性.因此,运行维护机制要把握3个要素:(1)要保持“库”的内容最新的现势程度;(2)要适应社会对“库”多样化的服务要求;(3)要提供简便、规范、畅通的基础数据输入/输出手段.

2系统功能设计

主要运用文本挖掘技术,将文本挖掘算法在MapReduce上实现并行化,提高信息的分析处理效率,以期可以迅速地提供市场行情信息的综合分析结果.系统主要功能模块如图2所示.

3系统实现关键技术

3.1信息采集爬虫技术本系统采用的是聚焦爬虫,与通用爬虫区别为不追求大范围的覆盖,而是将目标设定为抓取与某一特定主题内容相关的网页,进而为面向主题的用户准备数据来源[5].通用的爬虫是从一个或者多个初始的URL开始进行爬取,在获得初始URL抓取网页内容的过程中,不断从当前的网页中抽取新的URL并放入队列,直到满足系统设定的爬取深度条件后停止.聚焦爬虫的工作相比较为复杂,需要根据一定的网页分析算法过滤去除与主题无关的URL,存储有用的并将之放入等待队列中,然后根据搜索条件从中选取下一步要爬取得URL,重复直到满足停止条件为止[6].同时,所有被爬虫爬取过的网页将会被存储起来,然后通过分析、过滤并建立索引,以便后续的查询和检索.这个过程所得到的分析结果还可以对之后的抓取过程给出指导反馈.聚焦爬虫工作流程如图3所示.

3.2KNN分类算法最近邻算法是模式识别中广泛使用的分类方法,是模式识别非参数法中最重要的方法之一.K近邻算法是最近邻算法的一个推广,当k=1时,就是最近邻算法.NN强调最近点的重要性,而KNN是从总体考虑,是一种更普遍的方法.KNN的分类思想是给定一个未知文本,在训练数据中找出与其最相似的K个训练文本,即是这个未知样本的K个近邻.然后根据这K个近邻来确定未知样本所属的类别,可以把未知样本分到K个近邻最公共的类中,也可以分到K个近邻中权重最大的类中.K近邻算法的简单示意图如图2所示。

3.3KNN分类算法的MapReduce并行化方法KNN算法尽管原理比较简单,但是其计算量很大,对其空间和时间要求都比较高[9],所以提出将KNN算法运用到MapReduce上进行并行化计算,以提高运行效率。MapReduce技术最开始是被Google用于大数据并行处理[10],基本思想是将大数据集分割成无数的小数据集,然后每个数据集分别有集群中的一个Map函数执行计算任务,生成中间结果,从而作为Reduce函数的输入执行计算任务,得到结果.MapReduce的编程模型[11]如图5所示.

3.3.1文档特征空间和相似度计算本系统采用向量空间模型[12]来描述所收集的情报信息文档,每个舆情文档都可以表示成一个特征向量其中tN为特征项,即为特征词,wN为在D中的权值,特征权值计算公式采用TFIDF算法,如式(1)所示:中TF表示一个特征词与某个文档的相关性,IDF表示一个特征词表示文档主题的权重大小.DK为特征词在文档出现的次数,Aik为文档所有特征词数.N为训练集的文档总数,Nk为出现特征词的文档数.计算出TFIDF后,对于海量数据,其包含的特征词数目比较多,所以必须进行降维,通过对计算出的TFIDF值排序然后设定阀值,选取若干个特征词,同时,利用Hadoop平台的MapReduce进行架构从而实现对TFIDF的并行计算,进而有效地提高运行效率,但是在Hadoop平台中,数据经过Map函数处理后默认是按照key值升序排序的,因此可以按照1/TFIDF值得方法取得升序排列的前若干位数值即TFIDF按照降序排序的相应若干较大值[16].当计算两个网页的相似度时,需要计算两个文档间的相似度.本文采用的是余弦相似度,如式(2)所示:通过对di和dj两篇文档的特征向量进行计算,可以得到文档间的相似度.相似度越大,说明两篇文本相关程度越高,反之,相关程度越低.相似度在[0,1]之间取值,当两篇文本无关时,相似度为0,相似性越高,则相似度趋向于1.

3.3.2KNN分布式计算KNN算法根据不同文档之间计算的余弦相似度进而通过选取适当的K值,可以求出最近邻的K个文档.由于任意两篇文档间的相似度计算和排序都互不相关,所以可以并行进行.求任一类中的文本在不是自己本身类别中的n个最近邻的文档.所有的Map节点读取余弦相似度结果,并根据每个文本的类别,选出与自身类别不同的文本相似度并进行格式转换,结果输出为((filenamei,Simij),filenamej:typej).其中Simij表示文本间的相似度,typej表示测试文本分到的类别.Map输出结果中的key值是一个自定义的数组形式Key(String,float),MapReduce框架中Map过程和Reduce过程之间根据Key值进行排序,即按照filename排序,但因为需将同一个filename相关的Sim分配到同一个Reduce节点,所以要将相同filename的Sim值进行降序排列.经过两次排序后,Map的输出作为Reduce的输入,即((filenamei,Simij),filenamej:typej),根据排序的结果,选择每个文档的前K个最近邻文档,从而将测试文档归入到type类中.

4运行结果

本系统没有针对某一特定行业,实验主要通过网上爬虫采集网页内容来进行,如计算机类、体育类等.对于某一具体行业只要将相关的分类信息做修改配置即可.

4.1用户界面用户界面分为管理员界面和企业用户界面,管理员界面比普通企业用户界面多一个后台管理模块.企业用户主要的操作功能是查询结果、对竞争情报的信息录入以及用户信息的相关操作等,而管理员则除了具备企业用户的功能外,还可以对信息处理,如定期爬取用户订制的情报内容,对爬去内容进行预处理并做分类处理,同时将结果保存起来以备用户查询.

4.2查看初步结果通过用户操作模块可以查看用户所关注的竞争对手的情况,也可以查看系统自整理的信息.当用户选择自己关注的选项时,可以查看整理归纳后的信息,了解自定义的信息.当选择查看系统自整理信息时,企业用户可以看到除了自定义的领域外,系统其他用户所共同关注的信息,了解多点信息,拓宽自己的领域.

4.3查看详细的内容企业用户点击经过分类后的信息,可以查看信息的具体内容,内容显示在弹出框中.如需查看信息的网页的初始内容,点击信息的URL可以跳转到信息的原页面.同时也可以看到该信息被归纳后的类别.

第7篇

>> 数字校园知识获取平台的构建 国外开放获取平台对我国科技期刊OA发展的启示 彝文研究的踵武增华 彝文研究简述 彝文信息处理自动分词技术的研究现状与难点分析 彝文信息处理技术的发展历程评述 彝文汉译本的文本叙事特点研究 获取网络信息 微信平台下的教务信息获取和隐私保护方法研究 文综试题的地理信息获取和解读 基于社会网络的社团内部个体成员信息的获取和积累算法研究 基于网络环境下获取有用教育信息的研究 网络学术信息获取的用户行为分析与策略研究 浅析信息社会背景下彝文古籍的保护与利用 简析凉山彝族地区彝文信息传播的进程与发展瓶颈 网络商务信息服务与获取研究 彝文输入法形码编码的研究与实现 基于移动Agent的网络学习评价信息获取 获取网络信息的策略与技巧教学设计 高效获取网络信息的策略与技巧 常见问题解答 当前所在位置:l)为例进行抓取。

通用爬虫对中国彝学网网页抓取后,已经把全部有效的URL保存到ACCESS数据库中,下一步的工作是要进行网页筛选。

3.2 网页筛选模块

通用爬虫在遍历整个中国彝学网网页时,会对每一个新的网页都进行遍历,这样不可避免的会搜索到非常多重复的彝文网页。与此同时,也可能会获取到一些错误或不完整的网址。但因为通用爬虫没有排除重复网页、不完整和错误网址的功能,所以,需要通过网页筛选模块来做此工作,从而增强网页搜索的准确性和有效性。网页筛选模块采用正则表达式来匹配中国彝学网网址,同时去除获取到的不完整、错误的网址或重复的网址。

通过网页筛选模块,去除了通用爬虫模块获取到的不完整、错误的网址或重复的网址,下一步便可以进行网页信息抽取。

3.3 网页信息抽取模块

由于彝文网络信息在信息时代越来越重要,彝文网页信息抽取获得了很多专家的关注。彝文网页信息抽取技术指的是通过对HTML网页的解析,抽取彝文网页中有价值的彝文信息,然后进行结构化存储的一系列技术的总称。

在对采集的彝文页面信息进行解析的基础上,网页信息抽取模块将对彝文网页中文章的标题、时间、内容等进行抽取。网页信息抽取模块的主要代码如下:

3.4 数据存储模块

数据存储模块将抽取到的彝文网页中文章的标题、时间、来源及其对应的URL等信息存储到ACCESS数据库中,并保存到以ID命名的TXT文档中,这些文档被统一存放到文件名为“文章”的文件夹中。

3.5 界面设计

本彝文网络信息获取平台采用C#设计界面,C#是一种可视化的程序设计语言,系统界面的设计遵循以下原则:

(1)桌面软件界面设计原则。桌面软件界面可以给用户带来丰富的体验感,具有较好的交互性。

(2)简洁原则。C#可以采用Windows窗体和控件,用它们进行界面开发,可以为用户展示美观而又简洁的界面。

彝文网络信息获取平台可以获取彝文网页中文章的标题、时间、来源及其对应的URL,并且通过对标题的搜索可以快速找到想要查询的信息。图3为彝文网络信息获取平台的主界面:

双击采集列表可以显示获取文章的详细信息,包括ID、标题、来源、时间、对应的URL及网页内容。如图4所示:

网页采集的同时,会将所获得的网页信息保存为以ID命名的TXT文档形式,所有的TXT文档都存放在一个叫“文章”的文件夹中。

3.6 实验结果分析

彝文网页信息抽取效果评价的两个主要参数是召回率(Recall Rate)Re和查准率(Precision)Pr,公式如下:

(1)

(2)

因为是在中国彝学网内部进行抓取,所以本平台在性能测试时,相关文档总数等于文档总数,即Re=Pr。

在如下平台中测试本平台的性能:测试机器的CPU为3.6GHz,内存8.0G,操作系统是Windows 7。运行环境为Visual Studio 2010,数据库是Access2003,程序语言使用C#。实验数据来源于中国彝学网()截止到2014年12月11日的网页信息。实验结果如表1所示:

表1中:N表示文档总数;E表示采集的相关文档数;T表示抽取时间;Re表示召回率;Pr表示查准率。

实验结果表明,本彝文网络信息获取平台可以有效地完成彝文网页信息抽取工作,采集、抽取花费的时间短,准确率高,基本上达到了实验预期目的。

4 结语

彝文网络信息获取平台是一个基础性的平台,随着彝文网络信息应用的发展,该平台也必将随之发展和完善。本彝文网络信息获取平台虽然实现了彝文网络信息采集处理的基本功能,但还存在彝文网页信息解析不够智能等问题。在以后的工作中还将对基于用户学习机制的智能化网页解析和彝文信息抽取方案等方面展开更深入的研究。

参考文献

[1]朱建军.三十年来国内彝文研究综述[J].中国文字研究,2006:042.

[2]陈顺强.信息处理用彝语词法分析研究[J].西南民族大学学报:自然科学版,2013,39(4):639-642.

[3]林春,王嘉梅,张建营,等.彝文网页敏感信息监测系统的研究[J].中国新通信, 2013,(24).

[4]孙立伟,何国辉,吴礼发.网络爬虫技术的研究[J].电脑知识与技术,2010,6(15):4112-4115.

[5]Diligenti M,Coetzee F,Lawrence S,et al.Focused Crawling Using Context Graphs[J].VLDB.2000:527-534.

[6]赵茉莉.网络爬虫系统的研究与实现[D].成都:电子科技大学,2013.

[7]Broberg N,Farre A,Svenningsson J.Regular expression patterns[J].ACM SIGPLAN Notices.2004,39(9):67-78.

[8]杨威.基于正则表达式的Web信息抽取系统的研究与实现[D].西安:西安电子科技大学,2011.

[9]赖勇浩,谢赞福.防干扰的不良网页过滤算法研究[J].计算机工程,2007, 33(11):98-99.

[10]李魁,程学旗,郭岩,等.WWW论坛中的动态网页采集[J].计算机工程,2007, 33(6):80-82.

[11]游安弼.用C#二次开发UG NX[J].现代机械,2007(02):79-82.

[12]陈洁.基于概念融合的网页筛选技术研究[D].北京:北京邮电大学,2013.

作者简介

孙善通(1991-),男,安徽省蚌埠市人。学士学位,硕士研究生学历。主要研究方向为数据挖掘、信息处理。

通讯作者

王嘉梅(1964-),女(彝族),云南省昆明市人,学士学位,现为云南民族大学教授、硕士生导师。主要研究方向为网络信息安全、民族语言文字信息化处理应用研究。

第8篇

关键词:跨语言;知识管理;MOOC;文本挖掘

G40-057

大型开放式网络课程(MOOC)自2011年上线以来就倍受人们瞩目,它在时间和空间上拓展了教育的范围,教学形式较为新颖,对学习者来说,MOOC可以激发他们的求知欲、学习积极性和自主性[1]。MOOC的优势在于便捷和开放,能提供课程的相关学习资源,如讲义、笔记、学习小组、论坛等。还有一些英语课程配备了中文字幕,可以帮助中国学习者进行学习。这些在一定程度上提高了学习者的学习效率,促使学习者更快融入在线学习中,最后完成整个课程。

但是我们发现,在线学习也存在一些不完善的地方。以学习资源中的笔记为例,笔记通常按照记录时间顺序显示,还存在着很多与课程内容无关的信息,这导致学习者不能查看某个知识点对应的笔记,还会被无关信息打扰。而且课程中的中英文知识点之间的关联也不能体现。为了改进这些情况,让MOOC平台为学习者提供更好的用户体验,本文研究了如何通过文本挖掘技术和跨语言知识库的构建,管理MOOC学习资源中的知识。

一、研究现状和关键技术

1.跨语言知识管理

WordNet是由美国普林斯顿大学开发的大规模的汇总英语词汇知识的在线资源库。它是一个由普通的词典内容与计算机科学、心理学成功结合的基于认知语言学的词典,主要按照词汇的意义而不是字母顺序而组成的“词汇网络”[2]。经过20年的研究工作的进展,WordNet已经发展成为国际上非常有影响的英语词汇知识库,为知识管理做出了卓越的贡献。近年来,随着单一语言知识库的飞速发展和各语言信息多样性的增加,跨语言知识管理以及规模性跨语言知识库的建设将成为必然的趋势,具有研究价值。UKC (Universal Knowledge Core) 就是这样一个典型例子。

UKC是一个由意大利特伦托大学开发的扩展的多语种版的WordNet,包括几十万个概念。UKC扮演的角色是世界上所有的自然语言的中心枢纽,对于每种语言,都存在一个独立的LKC (Local Knowledge Core)。每个LKC都有一个源语言(目前为英文)和一个目标语言(世界上任何一种语言),可以独立发展并且与UKC同步。事实上,LKC是一个本土化进程,通过UKC,所有LKC可以均衡协作、互相使用,多种语言可以得到匹配。

UKC的基本组成部分是词语,义项,同义词集和概念[3]。它们的含义如下:同义词集是一组拥有一个共有的含义的词语;概念是可以表示一个同义词集含义的一句描述性质的话;义项是一个词语的含义;注释是一个同义词集的简短描述。此外,UKC中还有词目和词性这两个

元素。

2.关键技术

近半个世纪以来,随着计算机技术的成熟与发展,人们的生活中大量产生着社交媒体中的文本数据、通讯数据、GPS位置信息、传感器数据甚至还有图片和视频,信息的种类和数量有了爆炸式的增加。但是人们目前面临的严峻的问题是数据丰富而信息贫乏,只是把海量数据存储起来并不会带来任何价值,还需要对其进行分析,并从中获得有用的信息[10]。数据分析基本上都经历了数据获取、预处理(清洗)、选择分析算法、展示结果、评估这一流程。本文的研究基于文本数据的处理与分析,包括文本数据的获取、清洗、信息挖掘和数据可视化。

获取数据是数据挖掘的初始步骤。对分析者而言,外部数据比内部数据更容易获取,获取外部数据可以通过搜索引擎、开放数据、在聚合数据平台上购买或下载专业数据集、网络爬虫、调查问卷等方式。目前应用较多的外部数据的采集方式的主要有两种:商业化工具与网络爬虫,我们的研究就基于Python爬虫程序来获取网络课程的笔记。

文本挖掘是数据挖掘的一个分支,也是一个由机器学习、统计学、数学、自然语言处理等多种学科交叉而成的领域。顾名思义,就是从大量文本数据中抽取隐含的、未知、可能有用的信息,并对这些数据进行分析,挖掘其中潜在的知识信息[4]。文本挖掘的数据主要是指非结构化文档和邮件、网页内容等半结构化数据,常见的算法有关联规则算法,聚类算法 和分类算法。

数据可视化是指将身居分析的结果以图形或表格的形式展现出来,以便进一步分析和报告数据的特征以及数据之间的关系。它的首要任务是准确地展示和传达数据所包含的信息,并用直观、容易理解和操纵的方式呈现出来。它的基本流程是:⑿畔⒂成涑煽墒有问剑选择合适的图表,删去不突出的对象或属性,最终呈现出关键属性的明显特征。

二、跨语言知识管理的应用

我们研究的数据来自网易公开课中斯坦福大学开设的计算机系课程《机器学习》。首先使用Python爬虫程序获取最优笔记内容作为实验数据,然后用R语言分析文本数据、提取关键词,模仿UKC构建跨语言知识库,最后实现学习课程时对感兴趣的知识点的查询功能。跨语言知识管理研究的流程如图1所示。

数据获取与关键知识点提取

首先,利用编写的Python爬虫程序从网易公开课的课程页面获取前30页最优笔记,获得的数据保存成文本格式。

关键知识点提取是研究的核心部分,是文本分析算法的具体实现部分,此部分使用R语言完成,步骤如下:

第一步:读入待处理的文件,对数据进行清理和格式转换之后,经过排序,得到了共380条可用的笔记;

第二步:由于课程讲授是具有连续性的,而且为了方便统计,这里人为地将笔记按每3分钟为一段进行分段统计。然后对文本进行分词,然后全部去除文本中包含的标点、数字、多余的空格和停用词,生成语料库;

第三步:生成词汇文档矩阵,行为词汇,列为文档,使用tf-idf算法计算每个词语的权重,用余弦相似度算法计算出段之间的距离,对数据进行层次聚类,得到图2所示的聚类图。

由图可见,有一些类聚合效果比较好,如{5,6,7},{10,11,16,17,18}等。下面以{16,17,18}为例,提取这个时间段内的关键词。提取关键词的方法是统计词频,因为词频能在一定程度上反映词语在文本中的重要性,一般越重要的词语,在文本中出现的次数就会越多。{16,17,18}这一类代表的时间是45~53分钟,下面就单独抽取这一时间段的最优笔记,统计词频,得到图3。

我们可以断定{16,17,18}代表的笔记数据中,“梯度下降”,“算法”,“随机”,“descent”,“gradient”,“数据”这几个词出现的频率最高,结合机器学习的知识背景,可以得到这样的结论:45~53分钟,课程的主要知识点是“随机梯度下降”。同理,可以采取同样的方法分析出聚类结果里其他类的知识点,如下表所示:

三、结语

随着MOOC在世界范围内兴起与壮大,毋庸置疑,网络教育资源将成为未来自主学习者获取知识的重要途径之一,关于网络学习资源中跨语言知识管理的研究是很有实用价值和研究意义的。本文以学习笔记为例,设计了一个关键知识点提取模型并构造了跨语言知识库,实现了知识点的跨语言查询和最优笔记推荐。下一步我们将改进层次聚类的算法,加深研究深度,进行基于开放数据的跨语言教育资源共享平台的构建。

参考文献:

[1] 中国教育信息化网. 教育部关于加强高等学校在线开放课程建设应用与管理的意见[J]. 中华人民共和国国务院公报, 2015(18):48-50.

[2] 宗成庆.统计自然语言处理(第2版)[M].北京:清华大学出版社,2013:68-69.

[3] Ganbold A, Farazi F, Reyad M, et al. Managing language diversity across cultures: The english-mongolian case study[J]. International Journal on Advances in Life Sciences, 2014, 6(3):167-176.

第9篇

关键词:Web3.0;运程教育;系统设计

中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2013)0010013203

作者简介:刘晓刚(1970-),男,硕士,浙江经贸职业技术学院教授、计算机系统分析师,研究方向为软件理论、信息系统。

1建立基于Web3.0的远程教育系统意义

基于Web 3.0的远程教育系统可以提供传统系统所没有的强大能力,非常适合中国大规模的远程教育市场,主要体现在以下几点:

1.1有利于实现远程教育的标准化

中国当前还没有制定关于远程教育的技术标准和文档标准,各网络学校的远程教育系统自成体系,资源格式不统一,无法实现有效交流。基于Web3.0的远程教育系统可以充分发挥Web 3.0的特点,统筹使用各地软、硬件资源,提供强大的网络教学能力和资源提供能力。如在中国的西部不发达地区,普遍存在着软、硬件建设滞后的现象,而且这个问题也不可能短期内得到解决。通过基于Web 3.0的远程教育系统,可以整合东、西部各地的软、硬件,统一提供强大的服务能力,有效避免资源的重复建设。

1.2实现高效资源共享

除了继续使用云计算、移动互联网技术之外,Web 3.0还采用社群化服务技术,这些技术可以大大提高资源的共享程度。如果知道了用户的朋友是谁,有哪些偏好,Web 3.0系统就可以自动帮助用户过滤数据、增加应用,提高数据的应用效率。另外一方面,Web 2.0的信息分享是单方向的,而Web 3.0的信息内容跨平台同步,任何一个网站平台的信息可以直接和其他网站平台的信息进行交流和补充,能通过第三方信息平台同时对多家网站信息进行整合使用。用户在互联网上拥有自己的数据,并能在不同的网站上使用;用户在各网站平台上的文章、留言和回馈信息等,被自动地聚集在一起,方便用户观看、回复,也可以方便教师集中评阅,这种双向数据共享的方式大大拓宽了信息交流的通道。

1.3实现智能化和个性化

当前的远程教育系统中,教学课程的提供者把设计好的课件存储在服务器中,等待用户通过浏览器访问,这样的远程教育缺乏对用户学习的指导性,没有充分体现出教师的主导地位,也不会根据学习者情况智能化地调整学习策略。基于Web3.0的远程教育系统具有智能化识别功能,对于不同用户,系统根据用户的兴趣、爱好等方面内容,通过内容筛选,基于用户行为、习惯和信息的聚合,自动提供给用户最合适的学习方案和学习资源;学生可以参与多个群组社团的学习,发表评论、撰写心得、上交作业、参加测评,系统专门为学生汇总这些信息,收集起来提供给老师检查评分。基于Web 3.0的远程教育最具吸引的特点之一是可以实现个性化教育,不但学生可以按照自己的兴趣、爱好、时间等自主地安排学习进度、选择学习内容,而且智能化系统根据收集的数据主动分析学生的基础、能力、兴趣爱好等因素,自动为学员提出合适的学习方案和学习建议。

总体而言,Web 3.0不仅仅是一种技术上的革新,而是以统一的通讯协议,通过更加简洁的方式,为用户提供更为个性化的互联网信息资讯定制的一种技术整合,它将会是互联网发展中由技术创新走向用户理念创新的重要一步。同时,基于Web 3.0的远程教育系统将会使网络学习无处不在,你可以在任何地方、任何时间、任何设备上学习,使用各种移动设备都能方便地接驳应用。只要付出了努力,学员就可以取得远程教育的好成绩。

2基于Web3.0远程教育系统设计

2.1数据预处理机制

因特网上分布的Web页面不仅数量巨大,而且是动态变化、无组织结构的,用户在Web上搜寻准确的信息非常困难。一般的方法是使用搜索引擎搜寻Web站点、下载网页并创建相关的词句索引,但这样收回的结果中包含了大量不相关的信息,同时还损失了语义的含义。Web 3.0的模型应该是基于搜索+开放式TAG(关键词标签)+智能匹配的新门户,Web 3.0时代的信息关联通过语义来实现,信息的可搜索性将会达到一个新的高度。我们采用基于语义的资源爬虫和资源鉴别模块来收集信息,从而避免搜索引擎的问题。

(1)基于语义的资源爬虫。在数据预处理的过程中要构造一种基于语义的资源爬虫,爬虫是一个能够自动提取Web文档的程序,它支持更有效地信息检索和分析,可以较少返回无关网页。爬虫能从混杂的数据源中收集数据,创建语义数据仓库,并且使用知识配置文件去指定资源、关键字、搜索顺序,以及查询进程的进度表。搜索进程是基于语义、时间驱动的,代替了传统Web搜索进程中的问题激发和查询驱动[2]。资源爬虫算法的核心是构建资源优先值排序体系,我们采用资源相关度分析、网页内容分析、链接分析、参照物过滤、资源链接预测等多种方法进行资源相关度优先值的排序。如图1所示的爬虫模块部分,下面介绍该资源爬虫的工作原理。

首先是爬虫抓取未访问的Web网页进行处理,将初始的页面进行链接和内容分析。去除网页HTML标记和停用词,得到纯文本内容,并经过分词、词性标记处理,为后面的语义分析打下基础。完成预处理后,被访问页面中的链接结构以及内容资源相关实例词将被抽取并计量。

第二步由资源链接预测模块对链接信息进行资源预测,计算得到资源链接相关度;为了实现“智能化”,让系统能够理解并整合资源和用户档案,采用适当的工具构建标准化、正规化、可操作化的自适应资源本体,该本体能够进行统计规则的自适应学习,达到更好的过滤效果。由网页内容分析模块基于资源本体对网页内容信息进行资源相关度的计算。

第三步由资源相关度优先值计算模块将链接优先值和内容优先值统一起来,依据资源相关度优先值计算方法得到爬虫抓取的优先值序列。有了良好的优先值序列,爬虫的资源采集就能够顺利地进行。

(2)资源鉴别模块。数据预处理首先使用一个资源鉴别模块去定位与收集相关的数据资源,如图1所示。在资源鉴别模块的数据准备阶段,用数据分类器去分类收集不同文件类型的数据,剖析器和索引器用于数据收集过程中的分析数据、建造索引和词典库。在后面的阶段,通过本体开发和元数据提取收集列表、关键字建议、摘要和分类组成,并用这些数据去创建原始数据数据库。最后依靠高水平的语义数据收集,帮助用户快速准确地定位信息。

在对资源进行鉴别处理后,文档收集工作被基于语义的资源爬虫自动地执行。大多数的Web网页包含了其它网页的链接,爬虫几乎能从任何地方开始爬行。为了提高效率,确定爬虫要搜索提取的网页都是与资源相关的,爬虫被限制在从资源鉴别模块得来的特殊超链接资源中,处理不同类型的数据,收集所有的数据资源。为了提高爬行提取的效率,爬虫的工作是并行的。从网页收集的关键字都用作爬虫的初始种子去开始Web爬行。

为了使资源本体参照物具有自适应性,基于本体工程中本体学习的方法,在统计与规则下进行资源本体的自适应学习,达到更好的过滤效果。基于统计的本体学习模块,主要依据爬行过程中来自Web环境的反馈,统计来自资源命中的反馈数据,根据领域本体框架图对其进行权重学习和继承关系演化。

在预处理模块中,随着爬虫分析数据的不断产生,可以得到一系列资源相关度的分析数据,这些数据正好可以作为本体统计学习的训练数据集。其中包含一项重要的学习信息:概念词命中频率。将这一词频记录下来,用于对资源权重的学习。由此可以对资源本体参照物进行不断的学习进化,使得爬行更加科学有效。

网页中的链接标记往往包含该网页的资源特征信息,而链接周围的文本内容是资源锚记的集中体现。如果链接指向资源相关页面,那么该网页也具有一定的资源相关性。所以可以依据资源链接关系的分析,得到网页资源相关度的另一个计算维度,这是资源链接分析预测模块的主要功能。

2.2系统结构设计

如图2所示,系统使用的入口包括学生学习平台,教师教学平台,社会媒体平台。无论在何时何地,使用何种设备,只要连接了因特网,学生都可以通过登录学生学习平台进行学习,并自动接收学习的评价和学分,一次登录可以享用所有的系统资源;教师可以随时随地登录教师教学平台进行教学,批改所属学生的作业和测评试卷,并把成绩和评语自动推送给相应学生。在平台上还能看到该学生在所有论坛、留言板、SNS等处发表的评论和学习心得,教师通过这些内容可以给学生评定平时成绩,同时了解学生的学习状态;社会媒体平台提供给非注册用户使用,这里功能受到限制,主要帮助非注册用户了解远程教育和报名信息,以及广告。

在系统中有两个信息采集的通道:资源爬虫和用户提交。按照图1的数据预处理机制,爬虫首先从预处理中获得不同系列的关键字,然后按关键字到Web上爬行收集信息。一些远程教育的网站和论坛地址被人工收集并作为爬虫的种子来提高效率。对于特定的搜索字段,资源爬虫能够收集关于这些字段的全面信息,包括:专业信息,课程信息,课程学分,学生信息,课件素材案例,教学音、视频,作业和试题等。同时,在各种社会媒体平台中的学生活动产生了另一类与学生相关的信息,这类信息可以看作学生的课外作业并用于学生的平时成绩评定、兴趣鉴别、搜索主题的热点和讨论热点。

除了被爬行的数据,通过用户提交平台教师可以上传教学资源和信息,学生能够提交作业和问题。在用户提交平台中,要求采用统一的容易应用适应本体的预定义格式,能够传递课件、视频、文章和评论等。用户提交统一模块检查和调节用户的提交内容,使这些内容格式统一符合标准,便于适应本体的语义分析,然后存储于原始数据库。系统包含了高层和低层两套数据库,低层数据库存储爬虫收集和用户提交的原始数据,系统从低层数据库中通过适应本体提取更多的特定信息存储到高层数据库中。用户档案的元素如角色、兴趣等包含高效率鉴别相关数据的信息,还可以用于文档的过滤,是原始数据库里的重要内容。适应本体语义分析、检测并整理原始数据的各类信息,如从教学文章中得来的元数据,包括作者名、Email地址、联系方式等,还包括教师的个人网站地址和教学群组、学会、关联的学校,以及全国各地的远程教育学校地址等等,然后分类转存于各高层数据库中。有5个高层数据库,

(1)专业信息库:包含了远程教育的各个专业的基本信息,包括人才培养方案、各专业中的课程信息、各课程的学分等。由于远程教育的特殊性,只要求学生学完规定的课程,完成毕业论文,拿到要求的学分就可以毕业,课程的学习顺序可以不作要求。这是系统的基础数据库,只允许经授权的教学管理者修改,该数据库只做每年一次的常规更新。

(2)学生库:远程教育的学生众多,有必要建立专门的学生库。该库包含了学生的姓名、学号、性别、出生日期、专业名称、班级名、联系方式、家庭地址,还包括学习的成绩、所修学分、奖励和处分记录等。这个库也只允许经授权的教学管理者修改,除了每年一次的常规更新外,还有日常的学籍变动、学业记录等处理,如换专业、休学、学分奖励、处分记录等。

(3)网络课程库:包括各种格式的音、视频,课件等。为了控制播放的质量,提高播放的流畅度,要求统一音、视频格式,音频统一采用MP3或WMA压缩格式,视频统一采用RMVB或WMV格式。

(4)案例素材习题库:包括教学用的各种案例和素材,以及各门课程的习题。习题采用标准化的格式,客观题为主、主观题为辅,配有标准答案,可用作系统的平时作业、单元测试以及考试的自动出题。

(5)社会媒体库:社会媒体团体的用户可以在系统中分享他们的资源,召开会议、在线讨论、成立兴趣小组、进行项目合作等。一个用户只需要注册一次就可以访问系统的Blog、微博、SNS和论坛服务。社会媒体的相关文章、评论,团体、群组的相关讨论,特别是从各类远程教育网站收集来的相关文章和新闻报道,以及在各论坛、Blog、微博、SNS和其它媒体平台上收集的相关评论都存储进该数据库。该数据库不仅存储用户的扼要介绍,而且记录用户的行为。

从原始数据的内容中可以提取用户的兴趣点,如资源者个人档案中的研究兴趣描述,网站者的相关介绍,用户所属群组的文章、资源的细节、资源相关报道、介绍等。系统通过兴趣点产生器产生兴趣点的统计报告,管理者将根据这些报告跟踪热点资源并适时地调整热点,引导教师对热点资源的关注和投入。通过用户的兴趣信息还可以提取他们感兴趣的专业领域和研究倾向,这些信息除了提供给智能化服务,还有助于帮助系统构建本体。

采用语义方法能够产生远程教育资源的信誉反馈和汇总报告,帮助资源开发者制定开发计划和开发方向。产生这些报告后,通过用户本体兴趣匹配模块去匹配用户的兴趣,产生匹配报告并且发送给相应的用户平台,教师或学生将从这个平台中收到报告。系统也将发送报告给合适的社会媒体平台,去帮助用户获得最新的信息。

事件提醒产生器的功能是提醒重要学习事件。它在各种平台上列出将要发生的各种教学会议、视频直播和其它类型的活动,包含活动的主要题目、讲话者和时间段等。用户可以选择感兴趣的事件参加活动,如参加视频会议、在线讨论等。

3结语

根据我国当前远程教育的现状和困难,本文提出了建设基于Web3.0技术的远程教育系统,以提供更强的资源共享、智能化、个性化的能力。文章给出了新型远程教育系统的预处理工作机制和系统的结构,描述了系统的工作流程和主要功能。未来的研究重点是平台的具体搭建和实现方法。

参考文献:

第10篇

关键词:舆情、风险监测、质量安全

1、引言 近年来,随着新媒体的迅猛发展, 我国网络舆情的影响日益巨大。自2008年以来, “三聚氰胺”, “一滴香”、“瘦肉精”事件以及近期出现的“摇摇车”、“电梯事故”等一系列质量安全问题的出现,都在社会中产生了巨大的负面影响,产品质量安全的网络舆情的数量和影响持续上升,对政府舆论应对能力提出新的挑战,加强产品质量安全网络舆情监控管理研究的现实需求十分迫切。

当前国内在国内质检数据较为封闭的环境下,与互联网的联动和应用也预示着质检行业在大数据时代中的一种尝试。

2、舆情检索技术 网络舆情监测系统是一项复杂而庞大工程,它涵盖了几乎所有的互联网领域的基本技术,但从系统的功能实现上看,舆情监测系统的关键技术是由数据采集和关键信息提取技术构成的。

2.1 数据采集 网络爬虫是当前主流网络搜索引擎使用的技术,也是舆情监测工具中处理网页获取、网页跟踪、网页分析、网页搜索、网页评级和结构/非结构化数据抽取以及后期更细粒度的数据挖掘等方方面面的主要工具。

网络爬虫的实现方式是通过访问网页中的超文本链接,自动抓取互联网内部的程序或者脚本。

2.2 通用型爬虫与主题性爬虫介绍 当前主流的网络爬虫技术主要分为通用型网络爬虫技术和主题性网络爬虫技术。通用型网络爬虫的主要目标是大量采集信息页面[1],有较高的网络覆盖率,但其盲目的抓取会下载大量的垃圾页面,浪费网络资源。

主题型爬虫以自定义的主题信息为出发点抓取信息,基于此假设:如果网页U与主题相关,并且页面V到网页U通过一个超链接进行连接,那么抓取页面V的主题相关度比从网页中随机抓取的页面相关度要高。[2] 与通用型爬虫不同之处在于主题型爬虫可专门面向某一特定主题进行搜索,对于质检行业所关注的产品、标准、项目有更好的适应性。

2.3 主题型爬虫的工作方式 主题型爬虫的运行过程大致为:

1.  将搜索到的页面和各种信息项放到一个信息集合项中;

2.  分析每个信息项,将其中的基本信息单元作为索引,并形成索引库。同时建立一个存储Web页面的metadata数据库。

3.  Web浏览器将用户通过浏览器的查询请求通过HTTP协议传到搜索引擎,搜索引擎利用索引库找到相关文档并返回Web页面,或者将URL列表以及相应的摘要反馈给Web浏览器的用户查询界面。

4.  用户获得Web页面摘要信息或者信息项的列表,若想查看其中具体的内容,则点击标题访问,浏览器在matadata数据库的支持下通过HTTP协议从信息的原始位置取回Web页面或其他信息。

2.4 主题型爬虫的爬行策略        实现主题型爬虫最常用的策略是PageRank和HITS算法,其共同点是根据页面与主题的相似程度来确定主题的相关度,并根据主题的相关度来评估子网页的重要性。[3]

   RageRank算法可以得出网页的重要程度,进而对其权威性进行评价。

HITS算法也是一种通过网页链接来评估网页重要性的算法。相较于PageRank算法,HITS算法在网页链接与用户需求主体的关联性上有所改进。

3 质量舆情系统架构设计研究 质量舆情系统统是一个分布式互联网数据搜集与挖掘系统,系统的模块分为6层:数据抓取、数据预处理、数据提取、数据索引、数据检索、API/Web service与平台展示。

3.1 数据预处理 预处理包括网页噪音去除和语义分析。

噪音去除:

对抓取到的数据进行噪音去除,包括网页周边广告和版权声明。对保留的有效内容,逐句做正负面判定,以及品牌、属性词条的露出标注。并将预处理后的信息入库保存。

语义分析:

1,             智能语义分析:基于基础的分词词典、正负面词典、15个领域的知识库和句法分析算法,可以自动的对网络信息进行实体、属性识别以及正负面判定,从而实现了海量信息下的口碑分类与危机识别。

2,             半结构化信息的自动提取:可以自动提取互联网网页中的有用信息,保存到结构化的数据库中实现方便的查询,如网络论坛中的分楼、帖子作者、时间、点击数、回复数等。

3,             海量文本的分类与聚类:可灵活的为各种分类体系训练相应的分类器,适应应用场景中多变的分类需求。基于LDA改进算法的聚类结果,可以充分挖掘语义层的关联,进行大规模的文本聚类,并进一步应用到互联网内容传播中的话题管理与新话题发现。

4,             内容关联性分析:基于FSP、卡方、Word2Vec等各种算法开发的内容关联性分析,适合各种不同应用场景中的关联发现需求,产品-属性、产品-竞品、产品-广告匹配,等等。

5,分词与领域内命名实体识别:常规自动发现互联网新词、领域内新词、以及领域内的命名实体识别,从而在应用中更为准确的定位目标实体。

3.2数据提取 提取出网页中内容的结构化数据并入库保存,供报告统计和前台查询时使用。结构化数据包括文章的作者、时间、站点、点击、回复、阅读、评论、点赞等。动态指标数据可以根据需求做定期更新。对于页面中的互动内容,如论坛的分楼回复、新闻下评论、可以做精细化提取为作者、时间、回复内容。互动内容需要根据站点做定制开发,目前覆盖热门100个论坛,以及4大门户的新闻评论。

3.3数据索引 为了提供快速的关键词检索,系统采用倒排表作为文本内容的索引。为提高效率,系统索引分为三级。当日内的数据放在一级索引里,本周数据放在二级索引里,本周前的数据放在三级索引里。每日抓取回的数据每小时都会更新到一级索引里。当抓取内容进入索引后,就可以提供对外的查询。

3.4数据检索 用户在平台上做监测关键词配置后,系统的数据检索模块会定期对后台的索引进行检索,筛选出来符合平台配置的文章,放到平台上提供展示和统计筛选。对于有特殊需求的客户,比如危机预警客户,可以定制平台数据更新频次和时间点,从而实现平台更频繁更新。

数据检索的过程既包括文本内容的检索,也包括对于内容的元数据的关联,比如,检索出论坛文章后,同时关联出文章的作者、时间、点击、回复等信息。

3.5 平台信息展示与API数据接口 系统通过Web 服务的方式,呈现监测对象的相关数据,并按照时间、站点、正负面、作者等维度进行数据筛选。并在数据基础上统计出热门话题、负面话题、热词云图等数据统计结果。

4 结束语       我国的质检行业面临的市场化的挑战,而当前质检行业对信息技术手段的利用离现代企业管理还有差距。舆情监测系统能够帮助质量监管部门获取当前市场上最关注的的质量问题。我国的质检行业面临的市场化的挑战,而当前质检行业对信息技术手段的利用离现代企业管理还有差距。舆情监测系统能够帮助质量监管部门获取当前市场上最关注的的质量问题。通过网络舆情监测系统,利用计算机网络技术的优势,系统、科学、高效的分析和预警质量信息,是质量监管部门维护社会稳定,保护企业形象的基础保障。但是对于怎样挖掘更深入的信息,怎样对挖掘的信息进行风险等级评价,依然需要深入研究。

参考文献 [1]    王桂梅.主题网络爬虫关键技术研究[D].哈尔滨工业大学,2009.

第11篇

【摘 要】随着互联网的出现和伴随着它的高速发展,人们获得信息的方式也越来越依靠网络的存在,但是随着网络资源的不断丰富,人们搜索一个信息的难度也在增加,搜索引擎就是在这种情况下发展而来,本文在分析了搜索引擎的研究现状的基础上,对传统分词算法加以改进,在一定程度上提高搜索的精确率和识别率。

【关键词】全文搜索;搜索引擎;分词

随着互联网资源的飞速增长,搜索引擎的发展在很大程度上决定了互联网资源的使用率,只有不断增强搜索引擎的技术才能使我们更好的利用网络资源。互联网的使用率也代表着一个国家网络的使用水平,而搜索引擎在很大程度就制约着网络资源的利用。现在的搜索引擎技术还存在着很多的问题,需要我们不断的去改进。

目前的搜索引擎尚有很多的缺陷,主要体现在,网络资源的质量控制不足,由于缺乏一个系统的控制,所以资源的完整性和可靠性都不能得到保证,导致搜索引擎的无效搜索。其次就是搜索引擎占用着太多的资源,由于采用的是链接是把资源站的信息传回本地,无疑会使网络的流量增加传输的困难,使网络限于瘫痪。再次即使是做好的搜索引擎也不能做到对全网的一个覆盖,而且各搜索引擎没有明确的分工,重复搜索,造成资源的浪费,没有专门性的搜索引擎,大家都在做全面的搜索引擎,多而不精。同时因为搜索引擎的技术发展还不是很完善,对于一些信息的检测会出现漏检,不能明确的标记要搜索的对象。各搜索引擎也不能实现交叉覆盖。需要用不同的搜索引擎检测才行。搜索引擎技术是由信息检索技术发展而来的。作为一种计算机本身的技术在网络上的使用,搜索引擎所要搜索的就是网页的集合,所以要做好一个搜索引擎也是相当困难和需要技术的,首先因为数据的分布是分散的,没有系统的整理,只是凌乱的存储在服务器上,对网络和平台的需求特别高,其次就是,网络信息的更新是飞速的,需要我们不断的去刷新数据,对技术的依托就更为强烈。再次就是数据并不是只有一种结构,而是各种结构存在在网络上,形式不同,就需要有能处理不同形式的处理器,所以一个好的搜索引擎必须具备高效的性能和大量的内存和处理不同数据类型的能力。

全文搜索引擎也称为爬虫式的搜索引擎,是利用spider程序在访问网络时,提取站点的信息,并根据搜索的关键词通过链接跳转到其他站点,从而获取需要的信息和网页,基于对关键词的检索,分词的问题也就显现出来了,尤其是在中文的分词技术上还有很大的问题,这这主要是因为中文的复杂程度决定的,中文只能在字,句和段落之间做具体的划分,对词的划分却没有明显的界定,这无疑就对我们的搜索增加了难度。对语言的分析是一项庞大的工程,而不能仅仅作为一项技术来看待。目前,主要的分词技术主要有基于词库的分词和无词典的分词技术,其中词库的分词采用的有正向最大匹配和正向最小匹配等方法,这类算法的设计要求较低,搜索也比较容易实现,但是它过分依赖已经建立的词库,词库越丰富,搜索的结果就越简单,准确率也就越高。而无词典的分词技术,是在文章中的相邻字进行统计,在文中出现的次数高,就会作为一个词的索引几率就大,从而提炼出关键词,这类技术的优点就是可以节约建立词库的内存,也避免了对分词的把握不当造成搜索困难,全文搜索引擎主要是通过收集站点,过滤器,分词程序,搜索引擎,和结果排序程序等几步联结起来来的,主要就是信息的采集,到信息的筛选和信息结果的查询。

在本文设计的搜索引擎中,他的整个运行过程是这样设定的,通过爬虫采集放在网络上的站点,并加以汇总,以天网格式的数据形式存储在本地站点,过滤器通过自身设定的程序对存放在本地站点上的网页进行索引,通过对用户关键词的比较,查询出需要的网页传输给本地,并通过架构小型的搜索引擎,使爬虫系统可以多线操作,保证网速的高速运转,让站点可以持续的链接,同时过滤不能访问的网站,本搜索引擎的另一个优点就是采用天网格式的输出,不仅容错性更高,而且他采用正向匹配,支持关键词的查询。本引擎基于Linux平台,编程语言c++,爬虫在采集信息的时候可以来回爬取,同时保持两条线路,已经访问和未访问的,并不断的对新的站点和已经访问过的站点做对比,不断选取新的信息,进行在本地站点上的存取。在索引方面本设计采用的是通过几个中间的文件转换来实现的,在分词算法程序中,采用正向匹配最小窗口法,采用词库是TSE中的中文词典,在基于词库的分词算法中,词汇的收集和词典的内部结构的设计会影响着最终的搜索结果,一个词库的词汇收集的越多,词库的结构越合理,也就说对我们搜索的结果也就越有帮助,即搜索的信息也就越全面和精确,这也不能说就一直去扩充词库就好了,一旦词库的词越多,对切词的要求就会更高,导致效率下降,甚至影响搜索的准确率,所以在词库中最重要的是分词的算法。可以说分词词典就是一个人的大脑,只有对信息进行扩充和分类,这样在用到的时候才能很快的提取出来,不加以分类就会快速的遗忘,这点不通过于计算机,计算机只是增加了索引的难度。同时采用自动分词模块,即采用正向最大匹配中文自动匹配分词算法对为登录词进行召回,同时对未登录词的切分也是一个设计,在这个模块中实现了数据库的分词功能,并且实现了添加功能,查询程序通过对关键词的提取和对网页站点的匹配得出需要的站点,采用的是倒派所引查询程序。在通过传输到用户的本地站点,实现信息的获得。本文通过前人技术的研究和经验的吸取,通过对各个模块的分析最终实现了对一个全文搜索引擎的设计,实现了信息的收集和信息的索引存储和最后信息的查询和导出,设计得以实现。面对现代信息的高度发达,信息的更新周期越来越短,可以说网络速度的更新是我们所不能想象的,信息的激增对搜索引擎来说是一种新的挑战,如何对信息进行更好的过滤和存储是本设计的一个重点,对分词的算法加以改进,实现对未登录词的收录。都使我们使用搜索引擎时更加的便捷和快速。不过由于对分词我们采用一次性读取,会瞬间占用大量的磁盘和空间,影响计算机的运行速度,所以这一模块的增加对硬件的设备要求较高,同时采用二元分词避免了因为数据更新速度过快导致不能自动识别新的词汇,可以在一定程度上对这种情况进行缓解。同时因为技术要求,分词器不能做到对新词汇的自动鉴别,词库的更新还需要更长的反应时间。

搜索引擎从当初信息搜索的需要,到现在已经经过了飞速的发展,不仅搜索的范围越来越广泛,而且搜索的项目也越来越多,功能比原来更加的强大,现在的搜索引擎大多是商业引擎,为了获得利润,很多搜索引擎不单单做简单的搜索功能,而是作为一个访问点,去获得点击量,为用户提供各式各样的服务,不仅可以看经济,娱乐,更有的发展为网上的购物平台,为搜索引擎平台获取利益。网络的飞速发展在带来信息繁荣的同时,也会加剧我们对信息的搜索需求,只有在信息激增的同时,不断的去完善搜索的工具,我们才能更好的去获取信息,去第一时间了解事件,虽然现在的搜索引擎已经有了好大的发展,可以相对便捷的提供服务,但是在系统的稳定性和信息的质量的审核等相关方面还是需要进一步的提升,对搜索引擎的改进还是必然的。搜索引擎的技术的发展依然是电子信息化时代的需求,只有更新才能发展。

【参考文献】

[1]卢亮,张博文.搜索引擎原理、时间与应用.电子工业出版社,2007.

[2]李晓明,刘建国.搜索引擎技术及趋势.大学图使馆学报,2006.

第12篇

关键词:网络爬虫,策略,搜索引擎

 

网络快速发展的今天,互联网承载着海量的信息,能够准确快速的提取我们所需要的信息是现在的挑战。传统的搜索引擎有Yahoo,Google,百度等,这些检索信息的工具是人们每天访问互联网的必经之路。但是,这些传统性搜索引擎存在着局限性,它不能全面的准确的找到所需要的信息,也会使一些和需求无关的内容一起搜索到。严重的降低了使用这些信息的效率,所以说提高检索信息的速度和质量是一个专业搜索引擎主要的研究内容。

1.搜索引擎的研究

1.1搜索引擎的分类

搜索引擎按其工作方式可分为三种,分别是全文搜索引擎,目录索引类搜索引擎[1]和元搜索引擎。

1. 全文搜索引擎

全文搜索引擎是最常用搜索引擎,大家最熟悉的就是国外的代表Google,和国内的代表百度。它们通常都是提取各个网站的网页文字存放在建立的数据库中,检索与用户查询条件匹配的相关记录,然后按其自己设定的排列顺序将结果返回给用户。

从搜索结果来源的角度,全文搜索引擎又可细分为两种,一种是拥有自己的检索程序,它们拥有自己的网页数据库,搜索到得内容直接从自身的数据库中调用,如Google和百度;另一种则是租用其他引擎的数据库,但是,是按自定的格式排列搜索结果,如Lycos引擎。

2.目录索引型搜索引擎

目录索引,就是将网站分类,然后存放在相应的目录里,用户在查询所需要的内容时有两种选择一种是关键词搜索,另一种是按分类目录一层一层的查找。据信息关联程度排列,只不过其中人为因素要多一些。如果按分层目录查找,某一目录中网站的排名则是由标题字母的先后以关键词搜索,返回的结果跟搜索引擎一样,也是按自定顺序决定。

目录索引只能说有搜索功能,但仅仅是按目录分类的网站链接列表。用户完全可以不用进行关键词查询,仅靠分类目录也可找到需要的信息。目录索引型搜索引擎中最具代表性的是Yahoo(雅虎)。其他著名的还有Look Smart、About等。国内的搜狐、新浪、网易搜索也都属于这一类。

3.元搜索引擎

当用户在进行查询时,元搜索引擎可以同时在其他多个引擎上进行搜索,将检索结果进行统一处理,并将结果以统一的格式返回给用户。正因为如此,这类搜索引擎的优点是返回结果的信息量更全面,但是缺点就是无用的信息太多不能准确的找到用户需要的结果。

具有代表性的元搜索引擎有Dogpile、InfoSpace、Vivisimo等,中文元搜索引擎中著名的有搜星搜索引擎。

在搜索结果排列方面,不同的元搜索引擎有不同的结果排列的方式。如Dogpile,就直接按来源引擎排列搜索结果,如Vivisimo,是按自定的规则将结果重新进行排列。。

1.2搜索引擎的工作原理

搜索引擎主要是对用户要求的信息进行自动信息搜集,这个功能共分为两种:一种是定期搜索,即每隔一段时间搜索引擎主动派出“Spider”程序,目的是对一定IP地址范围内的互联网站进行检索,如果一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库;另一种是提交网站搜索,即网站拥有者主动向搜索引擎提交网址,搜索引擎在一定时间内定向向你的网站派出蜘蛛程序,扫描你的网站并将有关信息存入数据库,以备用户查询。

如果用户以关键词查询所需要的信息时,搜索引擎会在数据库中进行搜寻,如果找到与用户要求内容相匹配的网站时,搜索引擎通常根据网页中关键词的匹配程度,出现的位置/频次,链接质量等特殊的算法计算出各网页的相关度及排名等级,然后根据关联度高低,按顺序将用户所需要的内容反馈给用户。

2.网络爬虫

2.1通用网络爬虫和聚焦网络爬虫的工作原理

网络爬虫是搜索引擎的重要组成部分,它是一个自动提取网页的程序,为搜索引擎从网上下载网页。

传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。。

与传统爬虫相比,聚焦爬虫的工作流程则较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存起来,进行一定的分析、过滤,并建立索引,为了方便之后的查询和检索。

2.2网络爬虫的搜索策略

1.IP 地址搜索策略

IP地址搜索策略是先给爬虫一个起始的IP地址,然后根据IP地址以递增的方式搜索本IP地址段后的每一个地址中的文档,它完全不考虑各文档中指向其它Web 站点的超级链接地址。这种搜索策略的优点是搜索比较全面,因此能够发现那些没被其它文档引用的新文档的信息源;但是缺点是不适合大规模搜索。

2. 深度优先搜索策略

深度优先搜索是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) 。例如,在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,也就是说在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。

3. 宽度优先搜索策略

宽度优先搜索的过程是先搜索完一个Web 页面中所有的超级链接,然后再继续搜索下一层, 直到底层为止。例如,一个HTML 文件中有三个超链,选择其中之一并处理相应的HTML文件,然后不再选择第二个HTML文件中的任何超链, 而是返回并选择第二个超链,处理相应的HTML文件,再返回,选择第三个超链并处理相应的HTML文件。当一层上的所有超链都己被选择过,就可以开始在刚才处理过的HIML 文件中搜索其余的超链。

宽度优先搜索策略的优点:一个是保证了对浅层的优先处理,当遇到一个无穷尽的深层分支时,不会导致陷进WWW 中的深层文档中出现出不来的情况发生;另一个是它能在两个HTML文件之间找到最短路径。

宽度优先搜索策略通常是实现爬虫的最佳策略,因为它容易实现,而且具备大多数期望的功能。。但是如果要遍历一个指定的站点或者深层嵌套的HTML文件集,用宽度优先搜索策略则需要花费比较长的时间才能到达深层的HTML文件。

2.3网络爬虫的发展趋势

随着AJAX/Web2.0的流行,如何抓取AJAX等动态页面成了搜索引擎急需解决的问题,如果搜索引擎依旧采用“爬”的机制,是无法抓取到AJAX页面的有效数据的。对于AJAX这样的技术,所需要的爬虫引擎必须是基于驱动的。而如果想要实现事件驱动,首先需要解决以下问题:第一,JavaScript的交互分析和解释;第二,DOM事件的处理和解释分发;第三,动态DOM内容语义的抽取。

3.结束语

本文阐述了搜索引擎的原理以及网络爬虫的工作原理和发展趋势,网络爬虫技术的研究对搜索引擎的应用和发展有着十分重要的意义。抓住准度和速度两个大方向,进一步的深入网络爬虫技术,在耗费最少的网络资源的前提下使搜索引擎能够更准确更快捷的找到人们的需求。

参考文献

[1] Edwards, J.,McCurley, K. S., and Tomlin, J. A. (2001). 'An adaptive model foroptimizing performance of an incremental web crawler'. In Proceedings ofthe Tenth Conference on World Wide Web (Hong Kong: Elsevier Science): 106–113.doi:10.1145/371920.371960.

[2]刘金红,陆余良,主题网络爬虫研究综述,计算机应用研究院,2007(10):26-27.

[3]王岩,搜索引擎中网络爬虫技术的发展,电信快报,2008(10):19-20.

[4]刘世涛,简析搜索引擎中网络爬虫的搜索策略,阜阳师范学院学报,2006(9):60-61.