网络爬虫范文

时间:2023-11-10 10:10:08

网络爬虫

网络爬虫篇1

关键词:网络舆情;网络爬虫;网络资源;爬虫测速;主题更改

中图分类号:TP391.3

21世纪是信息科学技术飞速发展的世纪,互联网在生活中的应用越来越广泛,尤其是随着智能手机逐渐普遍,人们能够通过移动互联网更加便捷地获得外部资讯。网络舆情是当前网民们针对热点社会事件以及社会政治经济状况等内容反映出的态度总和。“管中窥豹,时见一斑”,可以说网络舆情就是当前社会现状的放大镜,针对这些态度思想及政治倾向的社会舆论信息的收集整合,是分析社会动向、研究人民需求的重要手段。

互联网引擎搜索技术并未完全成熟,在很多具体环节仍旧存在着缺点,严重制约着网络舆情监测工作的全面展开。传统的网络爬虫技术在进行网络信息的获取时,对其内容的处理精确性和不足,存在着无用信息过多和部分关键信息缺失的情况。因而,针对网络爬虫技术进行研究,提出更为有效的优化措施是一项十分必要的工作。

1 互联网舆情检索技术

现阶段建设的网络舆情监测系统基本涵盖了所有互联网领域的基本技术,是一项复杂而庞大工程。但从系统的功能实现上看,舆情监测系统的关键技术是由互联网信息采集技术和文本信息抽取技术构成的。

1.1 互联网信息采集技术简介

作为互联网搜索引擎获得信息的基本技术,信息采集技术的实现方法包括元搜索和网络爬虫两种模式。这也是当前网络舆情监测信息获得的主要途径。

所谓元搜索技术,就是在检索过程中将多个网络搜索引擎以串联的方式运行,监测方提交的搜索条件被初步处理后,分送给这些串行的搜索引擎,由其各自完成对相应数据库信息的检索工作,在获得初步搜索结果后,再将这部分信息进行二次加工,通过去重、排序、过滤等方式完成冗余信息的处理。元搜索技术在检索信息全面性方面要明显优于单搜索引擎技术。同时,元搜索技术在进行信息检索时并不需要对所有互联网信息进行搜索,具有明显的效率优势。

1.2 网页信息抽取及预处理技术

作为网络信息获取的最终步骤,对检索程序获得的网页信息进行抽取和预处理是搜索信息全面的重要影响因素。所谓网页信息抽取及预处理技术是将网络信息中包含的自然语言根据检索条件进行提取,从中获得需要的实体、关系、事件等要素,最终并用易于理解接受的规范化形式对结果进行记录和展示。现阶段一个成熟的互联网网站,其页面通常包括导航栏、正文标题、正文内容、相关链接、推广信息、版权公告等。而在这些内容中,真正吸引用户的是正文标题和正文内容,也就是切合用户需求的主体信息。在获取网络信息的过程中尽量获得这些主体内容,对其他次要信息进行选择性忽略正是网页信息抽取及预处理技术重要的功能。

2 舆情监测网络爬虫技术简介

作为当前重要的互联网信息采集技术,网络爬虫(We-bCrawler)技术在实际应用中收到了较好的效果。当前各领域构件的舆情采集系统中广泛采用的是Heritrix网络爬虫,这一开源程序允许用户的自主修改移植。Heritrix主要有三大部件:范围部件、边界部件、处理器链。其中,范围部件控制抓取的URL入队过程;边界部件则对选定的URL的收集情况进行监测,进而选择下一个URL,排除已处理URL;处理器链则可视为URL处理器,其工作结果会反馈给边界部件。

网络爬虫的工作流程是从未访问URL队列中选取目标并开始爬行,通过URL的指向作用,引导程序识别目标网页,通过事先认可的网络协议将网页内容爬取抽取出来,然后解析内容其中包括目标网页内的新URL,并将这部分URL添加进未访问列表,完成爬取后获取的内容存放到本地网页库内。

3 提高网络爬虫在舆情监测应用水平的措施

网络爬虫的本质是能够使实现网络信息自动提取代码程序,是网络搜索引擎功能的主要实现手段。网络爬虫包括通用爬虫和面向主题爬虫两种,当前网络舆情监测使用的面向主题网络爬虫程序,会通过网页分析算法对非设定主题链接进行排除过滤,提高了搜索的精确性。当前,网络舆情监测中的面向主题爬虫技术的主要研究对象的行业领域的URL搜索策略问题。

3.1 改善爬虫网络利用率的解决方案

网络爬虫的利用率是当下舆情监测工作的重要限制因素,高效的爬虫利用能够更为便捷地获得全面而准确的信息。

为了准确掌握爬虫工作的效率,我们在爬虫中加入测速的方法,对爬虫抓取速度进行监测和工作特征数据进行分析。根据监测结果,在抓取速度较慢的阶段,采取相应措施进行修正,保证程序对网路资源的高效利用。这一解决方案的具体实现步骤如下:

(1)爬虫抓取速度监控。抓取速度是进行衡量信息获取水平的重要衡量因素,影响爬虫的网页抓取速度主要有两个因素,分别是抓取页面的大小和抓取这些页面所耗费的时间。因而,可以根据基本的换算关系定义网络爬虫抓取速度B:B=PT,式中:T为爬虫进行抓取的时间间隔;P代表该时间间隔内抓取页面的大小。

(2)爬行策略更改。40%正常水平的抓取速度是十分低效的,这时必须采取相应的措施进行解决。常见的措施主要包括:减少爬虫的线程数;暂停当前爬虫的运行,选择适当的时间继续爬行;更换爬行网站。

3.2 改善爬虫主题覆盖率的解决方案

当前的社会热点层出不穷,具有一定的突然性,同时在人们的讨论和交流中会进一步发酵,产生的信息量很大。为了保证网络舆情监测工作的顺利进行,就要求爬虫程序具有较高的抓取的覆盖率。另外,在进行网页内容的抓取过程中,爬虫程序需要执行网页与主题相关度的计算,会影响爬行速度。所以在进行网络爬虫抓取优化时,通常会使用在传统爬虫中加入主题更改模块的形式,即保证了抓取速度的同时也提高了主题覆盖率。

3.3 系统设计与测试

通过以上分析可知,提高爬虫系统工作效率的关键是在其内部添加测速模块和主体更改模块,由此可完成设计方案的优化。该爬虫在传统爬虫的基础上添加了爬虫测速模块和主题更改模块。

4 结束语

网络爬虫技术是当前舆情监测系统中使用的重要技术,在网页内容获取方面发挥了重要作用。限制这一技术进一步发挥作用的主要原因是爬虫程序的网络资源利用率的问题。同时,网络舆情监测检索突发性和大数据性特征,要求爬虫抓取信息的过程更为迅速,主体覆盖面也要更广。本文通过在传统爬虫中加入了爬虫测速监控模块和主题更改模块的形式,进行了抓取速度和覆盖率的监测实验,其结果表明,这一优化方案有效提高了爬虫程序的执行效率和信息获得的全面性,是一种值得认可的检索技术。

参考文献:

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

[2]周巍巍.网络爬虫网页库智能更新策略分析与研究[J].电脑知识与技术,2010(31).

网络爬虫篇2

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

 

网络快速发展的今天,互联网承载着海量的信息,能够准确快速的提取我们所需要的信息是现在的挑战。传统的搜索引擎有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.

 

网络爬虫篇3

[关键词]python爬虫;住宅型房地产评估测评系统;评估价值测评

一、引言

在传统房产评估过程中,委托方和评估机构可能会存在利益共谋,从而损害第三方利益。单个评估企业对资产评估所得到的结果也难免存在失误。如果评估公司的评估结果与委托方预期差距较大时,委托方会选择重复评估,浪费人力和物力。这些问题都不利于评估行业的健康发展。随着大数据时代的到来,评估行业如何在大数据环境下获得所需要的评估数据变得日益重要。近年来,我国资产评估行业努力推进评估行业大数据建设,很多学者积极探索资产评估信息化。吴颖(2016)认为房地产的三种评估方法由于过分依赖资产评估师的经验,从而对评估结果的公信力存在一定的影响。鉴于此,本文引入第三方监督机构,借助房地产价值评估测评系统,提高评估结果的准确性和评估行业的公信力。胡兰,段禾青(2018)提出了在资产评估行业利用大数据与云计算相结合,用以弥补分析阶段人工信息处理出错的可能,并提出构建评估大数据智能化平台,不足之处在于尚未阐述如何构建评估大数据智能化平台以及如何获得平台的数据。为了弥补这一不足,本文融合政府、房产交易市场、互联网和财务软件四个层面数据来源,经过数据清洗后组成了数据仓库,为构建评估大数据智能化平台提供了思路。董睿琳,董楠(2019)提出了利用网络爬虫技术获取数据资源和利用大数据进行自动估价系统。在此基础上本文提出了利用python构建网络爬虫以及如何利用爬虫获取数据、获取互联网上哪部分数据等内容,以实现快速、高效、大面积的爬取数据。本文利用基于python的网络爬虫技术将互联网大数据资源与住宅型房地产价值评估测评系统结合,自动进行分析计算,为评估结果提供了一定的参考依据,有助于降低评估误差,进一步规范了评估市场。

二、评估流程优化

住宅型房地产评估流程优化是指转变传统价值评估观念,引入独立的第三方监督机构,利用大数据技术介入结果检查,同时管理评估行业的信用评级,从信誉方面把控评估公司的评估资质,淘汰掉不符合要求的评估公司,促进市场的良性竞争。监管部门的引入,不仅保证了评估结果的可靠性,还可降低评估风险,减少重复评估对资源的浪费,有利促进评估行业的发展。委托方在市场上评估需求,以公开招标的形式吸引合格的评估公司,并依据评估公司信誉评级进行业务委托。监管部门对评估公司评估过程介入监管,首先对资产评估师现场采集的照片及底稿进行审计审核,若审核不符合要求则对评估公司进行评级扣分,若信息无误则将数据录入测评系统中进行下一步的分析。测评系统的分析阶段利用市场法、收益法或成本法对数据进行处理,得出比准价格,并将其与评估公司的结果进行比较,若评估公司的结果与该价格偏离度较低,说明评估公司评估质量良好,委托方可接受该结果无需重复评估。最后监管部门会依据结果的准确性对评估公司信誉进行评分,并更新公司信誉评级。该信誉将会影响委托方对评估公司的选择。

三、住宅型房地产评估测评系统设计

依据评估房产优化后的流程设计针对监管方的测评系统。该系统特色之处在于数据采集除利用财务报表等结构化数据外,还通过基于python的网络爬虫技术采集互联网上庞大的非结构数据信息。系统采集的基础数据是房产评估的整体依据,因此本系统利用互联网大数据资源,全面的获取住宅型房地产行业的数据信息,有助于提高评估公正性和真实性。住宅型房地产价值评估测评系统拥有三个功能模块:数据采集、价值评估以及信誉反馈,下面分别对其进行介绍。

(一)基于网络爬虫的数据采集下面将对数据的主要来源进行阐述,并利用python语言设计网络爬虫对住宅型房地产的基本信息进行抓取。1.数据采集来源数据的获取主要来自以下几个方面:(1)政府层面信息来源。获取资产评估协会的行业指导、评估案例,以及政府部门在相关网站上的相关评估标准、细则,如土地级别图、基准地价表等,这是利用基准地价系数修正法得到评估范围的前提。(2)从房地产中介获取数据信息。房地产中介掌握大量的买卖双方的交易信息,因此能够很好地反映市场需求和房地产价格,为测评系统的价值评估范围提供较大的参考依据。(3)财务报表数据。在使用收益法对房地产进行评估时,需要利用财务报表的相关信息。使用企业普及度较高的财务软件,可实现对财务报表数据的收集。(4)运用爬虫获取网页数据。互联网是一个巨大的信息库,它提供了实时、快捷的海量信息。基于python技术的网络爬虫能够稳定高效的从大型网站中进行大规模的数据爬取,为得出评估价值区间提供保障。通过上述四种主要渠道获取并存储数据,利用数据仓库加工这些异构的数据源,消除掉数据源中的不一致,最终得到一个数据源的有效集成,从而构建一个包含完整数据信息的评估大数据智能化平台。网页下存在的大量非结构数据信息虽然价值高,但因数量庞大、结构复杂而采集较为困难,因此下面主要介绍利用网络爬虫技术获取互联网下房产市场上大量数据的过程。2.网络爬虫爬取互联网数据资源本系统设计数据采集模块,通过python的语言编写网络爬虫,抓取的内容包括:(1)互联网上的住宅房地产信息。具体包括某一地区房产位置、交易价格、建筑面积、房屋户型、装修情况、产权年限、所在楼层、户型结构、建筑类型、建筑结构、配套电梯等。(2)政府部门在相关网站上的相关评估标准、细则。由于互联网上的房产数据内容庞大,并且信息往往不集中,数据的获取存在一定的难度,因此下面主要阐述从互联网上获取的房地产基本信息。首先系统根据一定的网页分析算法过滤掉与住宅型房地产主题无关的链接,保留有用的链接,然后对这些连接下的网页进行下载并对网页结构进行分析,最后利用一定的算法获取网页下的房产基本信息并完成数据存储。以链家房地产网站为例,在该网站搜索某市住房信息,可得到该市不同地区住房情况,点击具体某一房源,在二级网站中查阅到该房源详细的信息,因此需要获取的房产详细信息存储在二级界面中。对房地产网站进行元素审查发现,首先需要对主页面进行爬虫设计,对该主网站树形结构下载后进行DOM树遍历,并利用正则表达式提取其中包含的二级网站url。对于抓取到的第二层网站链接,继续对其网页结构进行分析,确认好需要的数据所存在的位置后,对该网页下的房产基本信息解析和数据的提取,最后将抓取到的信息经过数据清洗,删除掉一些空行、错误的数据后保存在数据库中,以保证数据的有效性和可用性。二级链接中的数据可以让采集到的数据更加充实完善,从而提高资产评估的准确性。

(二)基于市场法的价值评估由于大数据资产的交易市场越来越活跃,市场法评估大数据资产价值具有明显优势,因此下面主要介绍利用市场法得出住宅型房地产的比准价格。在基于网络爬虫的数据采集模块中,网络爬虫已将从互联网上爬取到的大数据信息存入数据库,方便后续数据的查询与调用。对评估人员现场勘察记录底稿进行审计后,将住房基础数据录入测评系统中。录入的基础数据是测评系统分析匹配相似房地产的基础。测评系统通过对录入的数据进行模糊查询,从数据库中调用出全部与目标房产具有相似度的楼房参照物,利用计算机内部算法对参照物属性进行区域修正和个别因素修正等计算后,根据参照物的相应权重,采用加权平均法计算得出评估对象的比准价格。该测评系统在分析阶段还可以与评估专家模块相结合,利用其包含的专业知识解决在分析房地产价值的过程中存在的特殊、专业性的问题,有利于提高评估的规范性和工作效率,降低业务成本。大数据数据库的优势在于可以将全部既有较高相似度的房产数据匹配出来进行计算,弥补了因人工精力有限,难以对全部具有相似属性的房产进行因素修正的缺陷。最后对结果求取加权平均值计算得出的结果区间。与人工相比利用大数据信息化所得到的结果正确率与准确性更高。另外,由于大数据常与可视化工具组合完成对相关数据的分析,因此还可利用本系统中存在的房地产大数据进行可视化分析,通过对可视化的分析结果进行观察,可以发现评估行业中普遍存在的问题,对政府的决策、评估政策的制定等都具有一定的帮助作用。

(三)信誉反馈评估测评系统的信誉反馈机制是指利用系统价值评估阶段计算得到的比准价格与评估公司报告中的评估结果进行比较,根据偏离度对评估公司进行打分。若评估结果符合比准价格或与比准价格偏离度较小,则说明评估公司的评估结果与该系统差异度较小,准确度较高,该公司展开评估工作较为有效,委托方可放心使用该评估结果无需重复评估。若评估结果与该比准价格偏离度较大,说明该公司的评估结果可信度较低,则监管部门应该对该公司的信用评级进行扣分。由于委托方对评估公司的委托主要依据该公司评估的信用评级,当公司的信用评级降低到一定程度后,该公司将会失去大部分的评估市场,只能通过降低服务价格或提高评估质量来转型,否则将会被市场淘汰。这一定程度上帮助市场筛选掉不符合要求的公司,从而促进评估产业的可持续发展。综上,针对监管部门的住宅型房地产价值评估测评系统的设计,利用互联网与大数据技术相结合,通过网络爬虫获得的数据为后续分析打下了基础,使得价值评估阶段拥有价值较高的参考依据。计算机相较人工能够处理更多的数据信息,得出的评估价格更精确,从而为评估公司的结果提供了参考依据。

网络爬虫篇4

【关键词】 聚焦爬虫 移动互联网

一、引言

聚焦爬虫(又称为网页蜘蛛、网络机器人)是一种按照一定的规则、自动地抓取万维网信息的程序或者脚本。随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:(1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。(2) 通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。(3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频、视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。(4) 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。

为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫(general purpose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。CollegeNews系统是一套包含高校教育类新闻获取、相应数据库建立以及移动端软件应用的系统。在整套系统中,如何获取与主题相关的新闻网页数据是至关重要的一个部分,该部分由聚焦爬虫程序予以实现。

二、 聚焦爬虫简介

网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:(1) 对抓取目标的描述或定义;(2) 对网页或数据的分析与过滤;(3) 对URL的搜索策略。

抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算法又是紧密相关的。

三、聚焦爬虫在获取高校教育新闻中的应用

在CollegeNews系统中,所有的数据来源均为高校教育类新闻,因此聚焦爬虫的功能即为从互联网上获取与高校相关的新闻,并将相关内容存入系统的数据库中。用户在使用高校新闻应用时,客户端向系统的服务器发送相关的请求,系统服务器返回所请求新闻的URL,由客户端对相应的URL进行解析,从而获取相关的新闻资讯。通过使用聚焦爬虫获取高校新闻的原始数据,可以避免传统爬虫爬取网页所带来的获取内容不符合所需主题、获取到的无用处的内容量过大的问题,对于处理能力较弱的系统来说很有益处。

3.1 需要解决的问题

若想让聚焦爬虫完成其功能,首先需要确定合适的种子URL集合,爬虫自种子URL开始按照一定的搜索策略进行网页爬取,在网页爬取的过程中,需要提前确定待爬取页面与所需主题的相关程度与重要性,依据相关度和重要性决定是否爬取该网页。最后,还需要解决数据的更新周期问题,保证数据源的新鲜程度。在解决了上述问题之后,用户即可获取合适的新闻数据。

3.2 确定合适的种子URL集合

在聚焦爬虫的算法设计中,种子URL集合的选取是十分重要的一环。如果选取的种子URL集合不合适,可能会导致程序爬取大量与主题无关的数据,造成系统资源的浪费。

在CollegeNews系统中,为了充分保证系统的运行效率,即尽量避免爬取非高校教育新闻的网页,在构建种子URL集合时,采用使用指定起始网页的方式,选择了各类高校及相关新闻的入口地址作为起始网页,从而确保了初始网页的

在爬虫运行的过程中,另一个重要的问题是如何去除已经获取过的重复页面。该问题又可以分解为两个部分:一是在某次爬虫程序运行的过程中,如何去除本次运行已经获取过的页面;二是在某次爬虫程序运行的过程中,如何去除过往运行后已经获取过的页面。针对第一个问题,本系统在每次爬虫程序运行时,都会将已经爬取过的网页和尚未爬取的网页分别存在两个哈希表中,聚焦爬虫每爬取一个网页,会先比较该网页是否存在于已经爬取网页的哈希表中,若不存在,则进行爬取操作。操作完成后,将该网页从尚未爬取网页的哈希表中删除,同时添加到已经爬取网页的哈希表中。针对第二个问题,本系统在每次运行爬虫程序时会预先设定一个阈值,同时爬虫程序中也会设定一个初始的计数值为0。每当爬虫程序向数据库中添加一条新数据,若数据库返回重复信息,则将计数值加一。若下一个网页不是重复网页,则将计数值清零。直到计数值大于阈值后,认定所有新网页已经获取完毕,结束本次爬取。

3.3 网页搜索策略

一般而言,爬虫程序的网页搜索策略可以分为以下三种:深度优先搜索、广度优先搜索和最佳优先搜索。本系统的搜索策略充分考虑了新闻类网站的结构特点,使用了深度优先与最佳优先相结合的搜索方法。

如前所述,本系统爬虫程序的起始地址为各类高校及相关新闻的入口地址,以此实现局部最优效果。由于绝大部分新闻类网站的结构为目录式结构,即网站由若干页面(目录)组成,每个页面含有若干条新闻的超链接(项)。因此,本系统的爬虫程序首先由起始地址获取到该网站的目录,此后再依次对每个目录进行解析,获取该目录的所有项。按此流程进行网页爬取后,即可获得所需的新闻数据。

3.4 数据库更新频率

由于新闻具有一定的时效性,因此爬虫程序需要不断对网站进行扫描,将新增的网页加入数据库中。因为教育类新闻的时效性并没有要点新闻或天气预报那么强,因此CollegeNews系统在对数据库进行数据更新时,充分考虑了教育新闻的这一特点,并未将更新频率设计得过快,避免给服务器和网络带宽带来太大的压力。本系统以一定的频率对种子URL集合中的网站起始地址进行检查,若扫描到新的新闻,则继续聚焦爬虫程序,将新增的网页添加到数据库中;否则,中断本次扫描,等待下一次检查。

四、总结

网络爬虫篇5

1.1分级法

通过将互联网上的信息按照一定标准进行分级、分类,然后根据各自的级别采用针对性的处置措施的网络信息管理方法称之为分级法。纳入分级体系的网页都会得到一个分级标记,当用户访问该网页时将其与过滤模板进行比较进而选址处置方案。

1.2依据URL的站点过滤技术

和分级法不同的是,站点过滤技术采用的是以站点为监测对象。该方法的前置要件是要有一个不良站点列表。系统通过对比用户访问站点的URL和列表中站点进行对比来决定是否过滤。因此,不良站点列表越齐全、越准确,那么该方法的执行效率和质量也就越高。基于URL的站点过滤技术是当前主流互联网不良信息监测方法,广泛应用于国内、外的网络信息过滤产品中。使用该方法,重点是对不良站点列表的维护和整理。

1.3依据内容关键字的过滤技术

该项技术是人工智能技术在网络管理方面的一个重要应用。由于单纯对比关键字而忽视语境、语义的影响,使得关键字过滤技术的错误率较高,严重影响用户上网体验。因此,通过应用人工智能技术将语义分析引入网络信息关键字过滤工作中,以提高分析判断精度。但该技术缺陷也较为明显,主要是实行效果和人工智能技术水平直接相关。由于当前人工智能技术还不够完善,用户不能自定义问题判定标准。所以该方法在实际工作中产品较少,主要应用于某些特定领域,同时需要消耗大量计算机资源。

1.4其他信息过滤的方法

除了上述方法外,下面两种方法也较为常用。一个是图像识别技术。该技术以图像的色彩、深浅、形状和彼此间的位置关系为对比要素,将用户访问的图像和数据库中的标准图像进行对比,根据二者间的相似度决定目标图像的处理方案。由于图像描述精确程度较低,在应用过程中会造成一定程度的误判,实际使用效果水平不高,有待继续开发。二是动态跟踪技术。该技术通过对用户访问网络情况的跟踪记录,实现对用户上网行为的全程监控,并以此为依据改进信息监控、过滤相关方案。记录的内容包括访问的时间、网页、流量、出错情况、屏幕快照、过滤原因、网页所属类目、关键词等内容。

2不良信息监测系统主要应用技术

2.1爬虫技术

顾名思义,爬虫技术就是利用半自动程序对互联网上网页信息进行采集,由于其情形如同爬虫在物体上爬行一般,所以将这种程序称之为爬虫。爬虫程序在启动时,需要一个初始链接,如同爬虫爬行的出发点,其后爬虫程序进入自动运行,自动决策其“旅行”路线,这也是爬虫程序半自动化的主要特征。爬虫程序会对起始页面进行扫描,经由页面中包含的链接访问其他页面,然后再对新页面的链接进行扫描,从而去往下一个页面。单纯从理论而言,只要条件允许,爬虫程序访问到互联网上所有页面。这是因为互联网上的页面彼此间或多或少都会有链接存在。爬虫技术的优点是通过爬虫程序的自动运行,可以通过获取URL最大限度的对网页、网站上的各类信息,比如文本、图片和音频、视频等进行下载分析,从而达到主动监控网站的目的。但由于该技术依赖爬虫程序的正常有效运行,一旦网站环境采用对爬虫程序进行限制的技术,比如用户验证码、反爬虫技术等,其监测效果就会大幅下降。

2.2网络协议解析技术

该技术是建立在网络协议采用层次开发方式的基础上的。网络协议在开发过程中,每一层开发都有其特定的开发目的。网络协议技术就是针对互联网网络层和应用层中涉及的各类协议进行分析,进而处置的技术。监控系统对数据网出口电路的网络流量数据进行采集,并采用报文重组、协议规则分析等技术手段对信息进行分析,判断其安全合法性,以此为基础开展监控工作。实施该技术需要配套使用协议还原设备,以达到解析还原、审核网络中上下行数据内容的目的。该技术应用范围较广,可以用于网页、彩信、文件传输、邮件等多种业务内容的信息监测。但受监控工作运作机理所限,只能采用被动的监控模式,同时,监控行为对协议解析设备依赖性较大,不同设备间不能通用。

3移动网络不良信息监测系统功能简介

CMNET网络是移动互联网的主要架构形式,当用户使用移动终端对移动互联网进行访问时,监控系统对用户访问和传递的信息进行采集和监测,并按照一定标准进行对比、筛选,从中选出不良内容。筛选过程包括系统自动筛选和人工筛选两个环节,这种筛选方法既保证筛选速度又保证筛选质量。对于最终确定的不良信息,将其所属网站的URL列入黑名单,在依照黑名单进行封堵处理,阻止用户对其访问。不良信息监测系统采用中央、大区、前端采集三级架构体系,首先由前端采集点进行信息采集,信息报送至大区设备进行分析、判断,再由将所获取的不良网站URL及IP地址相关信息以黑名单形式汇总之中央设备。中央设备收到各大区设备报送的黑名单后进行汇总和除重作业,形成全网范围的黑名单,将其提交给流控系统,由其进行封堵。需要注意的是,如果有网站需要解封处理,也要由中央设备提交名单给流控系统进行解封作业。

4结束语

互联网产业是现代社会重要的朝阳产业。它的健康发展,不仅关系到国民经济总体发展状况,同时对于人们的思想、行为习惯乃至社会公共道德等主管层面的表现都有着密切的影响。加强移动互联网不良信息监控,维护网络世界的安定和谐,是推动互联网产业顺畅发展的重要举措。随着技术水平的提高,移动互联网不良信息监控技术势必会更加完善,监控系统的运行也会更加成熟。我们有理由相信,移动互联网的明天一定会更好。

网络爬虫篇6

关键词:数字图书馆;搜索引擎;检索

Library How to Build a Small Search Engine

Xiang Gaochao

(Library of Zhongshan Polytechnic,Zhongshan528404,China)

Abstract:This paper analyzes the feasibility of library search engine,and primarily explained the basic technology to build a small search engine

Keywords:Digital library;Search engine;Search

中图分类号:TP311文献标识码:A文章编号:1007-9599 (2010) 07-0000-01

一、引言

随着网络的兴起,搜索引擎逐渐被广泛使用。搜索引擎技术是网络与计算机技术结合的产物,它的发展决定于网络技术的发展。

对于图书馆来说,用户的文献检索需求越来越强,专业覆盖面广而专业性细分,所购专业性数据库越来越多,信息量也越来越大,为了给读者提供快速、方便的检索,使读者能够自网上即时获取所需要的文献资料,更好的整合相关的课题、科研研究信息等,图书馆可以考虑建设覆盖某些行业领域或者某些专业的小型搜索引擎。

本文尝试着从基本技术的角度来阐述如何搭建搜索引擎,大致可以从:信息搜集、构建索引、检索三个部分来了解现有开发技术,文章还提到了一些现有的搜索引擎开发工具。

二、基本技术

(一)信息搜集

对于图书馆来说所要搜集的信息包括各图书馆站点、学者个人主页、学术研究论文、在线会议资源、专业数据库等等。

因为网页是通过超链接(Hyperlinks)互相连接,“蜘蛛”程序被用来在网络上搜集网页。这个“蜘蛛”程序也被叫做网络机器人(Web Robot)、网页(Web agents)、爬虫(crawlers)、蠕虫(worms)或者漫步者(wanderers)等,它遵守标准的HTTP协议,通过网页间的超链接(URLs)来爬取网页。首先,爬虫读取一列种子站点的URLs并且下载这些URLs的页面。然后处理这些页面,提取其中含有的新的URL地址并加入到下载队列中。然后爬虫选择队列中的下一个URL进行抓取,直到抓取了指定数目的页面或者硬盘没有空间了。这个网络页面收集过程常常被称为“爬取”或“抓取”。为了提高抓取速度,可以同时使用几个爬虫去平行爬取不同的站点,使用多线程或者异步输入/输出。

另外,一个设计良好的“有礼貌”的爬虫应该避免在短时间内向一个Web服务器发送重复的请求,这样会导致该站点重复下载。网站管理员同时应该知道他们的站点不想被那些特定的爬虫爬取。有两种方法可以拒绝爬虫。第一种是使用Robot协议,在站点的根目录下放置“robot.txt”文件来告诉爬虫该站点的哪些部分不要下载。第二种方法是使用robots标签,网页代码中注明该网页是否可以被索引或者提取更多的链接。

在网络发展的早期就已经开发除了爬虫下载工具,TueMosaic就是一个早期的个人网络蜘蛛例子。通过TueMosaic用户可以输入关键词,设定抓取深度和宽度,只抓取首页等。WebRipper、WebMiner和Teleport这些软件工具允许用户从在给定站点的具有特殊类型或者属性的网页。最近几年也出现了一些开源的工具,如Heritrix,这是一个互联网档案馆工程的爬虫,从网上即可下载的到。

还有一些蜘蛛设计的能提供附加功能,如Competitive Intelligence Spider能进行广度优先抓取,并可以对结果进行语义分析和聚类。the hybird simulated annealing spider能够在网上进行“全球”搜索。

通过爬虫工具抓取各图书馆站点、学者个人主页、学术研究论文、在线会议资源、专业数据库等等资源,这样就构建好了一个图书馆搜索引擎的资源了。

(二)建设索引

搜索引擎的内容建设好了,接下来就要为内容数据库建设索引了。

爬虫所抓取的页面都存放在网页库中,为了减少所需的存储空间,经常需要对页面进行压缩存储。页面通常都存放在数据库中,但是对于小型的搜索系统来说可以简单地把页面存成文件的形式。索引处理下载的网页并为搜索提供服务。索引把每一个文档记录成词组和词组在文档中出现的位置,同时通过词组出现频率等计算文档得分,以便用于查询结果的排序或者更进一步的处理。

(三)构建搜索

查询引擎接收来自用户的查询提问并在索引中进行查询[1]。然后查询引擎还要通过各种内容和链接分析权值对结果进行排序。一些搜索引擎的查询引擎还要储备一些常见的查询请求。最后,查询引擎把查询结果组织成一个HTML页面并通过用户接口呈现给用户。用户通过用户接口提交查询请求并查看查询结果。当用户通过接口提交查询请求后,请求被提交给查询引擎,由查询引擎在索引数据库中找到查询结果并反馈给用户。

(四)现有的工具

除了上面讨论的爬虫和索引工具,还有很多免费的软件工具可以用于搜索引擎的各个部分。如网页抓取、索引、查找、索引存储结构、和用户接口等。用户可以通过这些工具建立自己的搜索引擎。一些常用的搜索引擎开发工具如WebGlimpse、ht://dg、GreenStone和Alkaline。这些工具从用户获得一列网址作为种子站点开始抓取网页,对抓取的网页进行索引,并建立用户接口。

用户可以通过这些工具集来构建自己的专业搜索引擎。

三、结束语

对于我国图书馆业来说,随着信息技术领域里的各种新理论、新技术、新方法用于数字图书馆搜索引擎的研究与应用,数字图书馆建设必将有更好的发展,我们希望有更多更好的搜索引擎能开发出来,从而促进图书馆事业的快速发展。

参考文献:

[1]张敏.基于Internet的个性化信息检索关键技术研究.燕山大学工学硕士学位论文

网络爬虫篇7

【关键词】易班网;网络爬虫;敏感词

The Research and Design about Sensitive Words Monitoring System on Easy Class Network

JIANG Chun-hua LIU Huan LIU Yi-ning

(School of Computer and Information Security, Guilin University of Electronic Technology,Guilin Guangxi 541004,China)

【Abstract】Yi Ban network is a comprehensive interactive community network with function of education and teaching in college,life services, culture and entertainment.A program is proposed to monitor the public opinion of the paring the web crawlers and the search of sensitive words,it can monitor the direction of the public opinion.The experimental data shows that web crawlers can be used to monitor the public opinion of the campus.

【Key words】Yi Ban network;Web crawlers;Sensitive words

0 引言

随着科学技术的发展,信息技术逐渐走进千家万户。信息技术的发展给人们日常生活带来便利的同时,也给人们生活带来挑战。人们崇尚自由,在看不见的网络中发表着自己的观点,而不需要承担言论带来的责任。有些别有用心的人会引导网络言论,从而达到自己的目的。因此需要对网络言论进行监控,防止不明真相的参与者被别有用心的人引导。

在校大学生是网络言论的主力军,然而由于大学生普遍涉世未深,极易受到不实信息和敌对势力的蛊惑煽动,在虚拟网络世界里发表一些激进的观点和言论,影响校园和社会的稳定团结。为此,监测大学生的网上言论,通过大学生网上言论了解其心理思想和诉求是极其重要的。微博、贴吧、人人网等社交平台,无需实名注册,人员混杂,因此对这些平台上在校大学生进行网络舆情[1]监控十分困难。易班网是一款专门针对在校大学生开发的互动社区,需要实名注册。因此可以利用易班网对大学生进行网络言论监控[2],从而了解大学生心理思想和诉求。利用易班网可以很好的了解当代大学生对于各种网络事件的观点[3]、舆论导向以及大学生的心理状态,有利于学校及时处理相关舆情事件、引导舆情的发展[4]。

1 易班网络舆情监测方案

图1 系统流程图

利用敏感词监测系统对于易班网络舆情监测进行调研,在系统开发过程中综合各方面因素,使用了Python2.7版本作为开发语言,MySQL5.1版本作为数据库存储系统,界面设计使用Django框架进行web展示。该系统主要包括了信息获取、信息处理、舆情分析和舆情预警等四个模块。程序运行流程如图1。

1.1 信息获取

对于易班网络言论进行分析,发现用户言论主要集中在对文章的评论[5],因此这一部分是信息获取的主要途径。由于每个学校都是有相对应的ID,因此我们只需要对本校对应的

ID域进行监控和爬虫爬取,从而获取到学校在易班网上所有的文章URL。对这些URL进行存储和网页爬取,获取文章信息以及文章下面的用户评论信息。易班网络的环境导致团队成员需要综合考虑各个方面,对爬虫进行了延时处理,即每隔一定的时间(该时间可以由系统后台管理员设定)对易班网进行爬虫爬取信息。由于爬虫在轮回爬取过程中,会遇到很多重复URL地址,为此,本系统在对爬虫爬取过程中做了去重处理,而且在入库处理时对文章和评论发表时间做了判断,以确保存储的数据是最新的且避免了重复数据入库。

1.2 信息处理

信息处理模块主要是对获取到的用户评论信息进行入库处理。经过分析可知:易班网采用JSON格式的方式处理用户的评论数据。针对这种处理方式,对JSON数据进行了分析,将数据进行了分隔,对文章URL、文章下所有的评论人员的ID,评论内容、评论时间等字段内容进行了入库处理。

1.3 舆情分析

舆情分析是舆情监控系统的关键模块。为了便于应对各种突况和管理员针对不同信息进行分析检索,系统管理员可以在后台自主设定舆情敏感词。系统利用这些敏感词和数据库中信息进行匹配,找出存在敏感词的评论,以及发表该评论的人员和文章的URL地址。匹配过程如下:建立敏感词数据库,将敏感词与获取的评论信息进行匹配查找,确定是否存在包含敏感词的言论。将包含敏感词的评论文章ID和评论信息存储下来,并且通过E-mail实时通知负责人员进行处理。

1.4 舆情预警

互联网信息的传播速度很快,舆情的爆发时间也具有不可预料性,而管理人员不可能实时在线,因此,及时预警舆情是网络舆情监控系统不可或缺的功能。该系统的舆情预警主要通过发送E-mail到监控人员移动终端进行实现。当匹配到相关敏感词在文章评论中出现时,系统会自动向后台设定的邮箱地址发送预警邮件。预警邮件包含敏感词所在文章的网页地址,便于管理人员可以及时了解到舆情的动态,及时妥当处理相关问题[6]。

2 结论

本系统利用网络信息技术来实现对易班网络的实时舆情监测,以解决传统人工监测时“人手不足、容易疏忽、效率底下”等问题,可以更加及时的发现问题,净化校园网络环境,引导舆论导向,并且可以及时定位言论者,以便于做出相应处置。

【参考文献】

[1]王娟.网络舆情监控分析系统构建[J].长春理工大学学报(高教版),2007,4: 201-203.

[2]张珏.网络舆情预测模型与平台的研究[D].北京:北京交通大学,2009.

[3]J.Zeng,S.Zhang,C.Wu,et al..Predictive Model for Internet Public Opinion.Fuzzy Systems and Knowledge Discovery,2007.FSKD 2007.Fourth International Conference on.IEEE,2007,3:7-11.

[4]滕云,玲.网络舆情特点的实证研究――基于高校BBS论坛的文本分析[J]. 山东社会科学,2014,3:181-186.

[5]D.Shen,Z.Chen,Q.Yang,et al..Web-page classification through summarization[C]. Proceedings of the 27th annual international ACM SIGIR conference on Research and development in information retrieval.ACM,2004:242-249.

网络爬虫篇8

关键词:物联网;搜索引擎;网络爬虫;索引器;jsoup

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)02-0274-03

随着信息技术与物联网技术的不断发展和融合,越来越多的产业与行业广泛应用了物联网技术,如工农业、智能家居、快递物流、设备监控等,物联网中包含很多实体,这就意味着海量的实时数据需要传输、存储及有效展示。面对越来越多的传感器及其所产生的数据,只有结合智能的物联网搜索,才能最大限度地实现这类数据的价值。

1 模块设计

本搜索引擎由四个模块组成,主要包括网页抓取模块,网页内容抽取模块,内容索引模块和内容呈现模块。系统的模块流程图1如下:

1.1 网页抓取模块

网页抓取模块主要完成对指定站点进行网页的抓取并将所抓取的网页保存到本地数据库。

本系统是从凤凰、腾讯、网易、搜狐新闻网上爬取相关的网页,输入凤凰、腾讯、网易、搜狐新闻网的页面的URL作为种子URL。通过分析凤凰、腾讯、网易、搜狐新闻网的网页URL的格式,对网络爬虫抓取和分析网页的行为进行一定的控制,限定应抓取的网页的URL格式以及限定能进入待爬取的URL队列的URL的格式。提高网络爬虫爬取速度可以通过改善URL的分配策略,使网络爬虫的并发线程增多。通过限制对Robot文件的访问,也是提高爬虫爬取网页效率的一个方法。网页抓取模块的功能需求如图2所示

1.2 网页内容抽取模块

网页内容抽取模块主要负责从本地文件所存储的网页中按照某种抽取规则抽取所需信息,并将所得到的信息按照特定的格式保存到数据库中。

通过对具有代表性的目标页面进行分析,制定信息抽取规则,实现对网页上各种内容的定位,抽取网页文本内容。构建网页信息词库,通过分词器解析抽取出所需网页信息内容,并将其写到指定词库文件中。将提取的网页非结构化信息转化成结构化信息存储到数据库中。

网页内容抽取模块的功能需求如图3所示。

1.3 内容索引模块

利用Luence索引工具对数据库中结构化信息建立索引文件,然后把创建好的索引文件保存到磁盘中,根据用户输入的查询条件在索引文件中进行查询,最终查询结果按照一定的顺序进行排序返回给用户。

网页内容索引模块的功能需求如图4所示。

1.4 内容呈现模块

通过jsp技术,以Web的形式展示用户界面,当用户在此界面输入关键词时,根据用户的关键词从数据库中匹配相关网页,把相关网页根据一定的排序规则返回显示在用户界面。

2 详细设计

2.1 网页抓取

网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要M成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。该模块通过网络爬虫从凤凰、腾讯、搜狐、网易新闻网中的网页爬取我们想要的页面URL。爬虫开始时,我们添加种子URL到URL请求队列中,我们输入的种子URL为凤凰、腾讯、搜狐、网页新闻网的页面的URL。通过对凤凰、腾讯、搜狐、网易新闻网的页面的URL格式进行分析,当得到的URL地址满足凤凰、腾讯、搜狐、网易网页面的URL格式,则将它添加到URL请求队列中。

网络爬虫的工作流图如图5所示。

定制网络爬虫抓取凤凰网:

parser="org.webspider.parser.NewsIfengParser"

listener="org.webspider.listener.DbSpiderListener"

host="" forbidden="">

2.2 网页信息抽取

网页内容抽取主要负责将本地文件所存储的网页中按照某种抽取规则抽取所需信息,并将所得到的信息按照特定的格式保存到数据库中。

遍历存储所抓取网页的本地文件夹,如果遍历到网页,则运用jsoup对网页的标题,作者,时间,正文实现定向抓取。将抓取的内容保存为.txt文件存放到指定文件夹中。将抓取到的内容,如网页凤凰网新闻的标题,作者,时间,正文,链接地址,分别存入到数据库news表中的相应列。

网页信息抽取流程图6如下。

实现的关键代码:

public class DefaultParser implements Parser{

@Override

public List parse(Page page) {

//创建一个List,存放解析出来的Map

List datas = new ArrayList();

//通过网页的html,创建一个Document

Document doc = Jsoup.parse(page.getContent());

//创建一个map,用于存放解析的具体字段

Map data = new HashMap();

//把网页的原始url放入map

data.put("origin_url", page.getUrl());

//利用jsoup的选择器,提取标题title这个元素

Elements title = doc.select("title");

//得到标题的文本,并放到map里去

data.put("title", title.text());

//解析得到的map,放入list里去

datas.add(data);

//返回解析结果List

return datas;}}

2.3 内容索引

利用Luence索引工具对数据库中结构化信息建立索引文件,然后把创建好的索引文件保存到磁盘中,根据用户输入的查询条件在索引文件中进行查询,最终查询结果按照一定的顺序进行排序返回给用户。

实现的关键代码:

/*索引一个索引库的数据 * * @param indexConfig Index */

private void indexData(Index index) throws Exception {

StringTokenizer stFetcher = new StringTokenizer(index.fetcher, FETECHER_SPLIT);

while (stFetcher.hasMoreTokens()) {String strFectcherName = stFetcher.nextToken();

Fetcher iFetcher = (Fetcher)new ObjectUtility().newInstance(strFectcherName);

int records = iFetcher.doIndex(index);

LOG.info(index.name + ", Index Records:" + records + ", Fetcher Class:" + strFectcherName);

} }

2.4 搜索引擎界面设计

本搜索引擎界面简单清新。其效果图如图8所示。

3 结束语

针对物联网技术产生的大量数据,设计了一种搜索引擎,并将核心功能完成,能应用于实际。本搜索引擎有如下功能:

1)通^对网络爬虫的扩展满足自己从网络站点抓取相关信息的要求

2)通过jsoup网页解析工具实现对目标网页进行抽取,并将抽取内容保存到数据库中。

3)通过luence检索工具完成对存储在数据库中信息的索引,最后通过jsp向用户展示所抓取并过滤后的信息。

4)与MYSQL数据库结合使用,减少企业的开销成本,同时,在数据处理方面,MYSQL数据库提供了很大的优势,在数据的返回处理方面,减少了结果集的负担,同时,也加快了数据的传输。

5)系统界面简单美观。

最后,本文通过对搜索引擎的分析与测试,表明对基于JAVA的搜索引擎的设计与实现是成功的,该搜索引擎性能稳定,高效。

综上所述,本课题成功地实现和设计了基于JAVA的搜索引擎,并结合了MYSQL数据库的使用,软件的UI交互设计友好。

参考文献:

[1] 袁津生, 李群, 蔡岳. 搜索引擎原理与实践[M]. 北京: 北京邮电大学出版社, 2008, 11.

[2] 郑宇卫. 基于Lucene构建的Web服务搜索引擎[J]. 电脑编程技巧与维护, 2015.

[3] 任丽芸. 搜索引擎中文分词技术研究[D]. 重庆: 重庆理工大学, 2011.

[4] 邱哲, 符滔滔. 开发自己的搜索引擎--Lucene 2.0+Heritrix[M]. 北京: 人民邮电出版社, 2007-06.

[5] 桂许军. 基于JavaEE平台与Lucene的信息文档搜索引擎系统的设计与实现[D]. 成都 西南交通大学, 2011.

[6] Cay S.Horstmann, Gary Cornell.Core Java 2, Volume 1-Fundamentals,6E[M].Prentice Hall/Pearson, 2003.

上一篇:移动网络范文 下一篇:网络安全宣传周范文