面向webservice的网络爬虫设计与实现毕业设计论文.docx
《面向webservice的网络爬虫设计与实现毕业设计论文.docx》由会员分享,可在线阅读,更多相关《面向webservice的网络爬虫设计与实现毕业设计论文.docx(65页珍藏版)》请在冰豆网上搜索。
面向webservice的网络爬虫设计与实现毕业设计论文
毕业设计(论文)说明书
题目:
面向webservice的网络爬虫设计与实现
毕业设计(论文)任务书
题目:
面向webservice的网络爬虫设计与实现
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
1、原始依据(包括设计或论文的工作基础、研究条件、应用环
境、工作目的等。
)
WebServices技术是一种基于XML语言和标准的网络协议实现的分布式计算技术。
WebServices技术是可以改变软件产业面貌和软件应用模式的技术之一。
WebServices技术可以将Internet上的各种信息资源和服务功能整合在一起,在任何时间、任何地点向用户提供优质的服务。
WebServices技术还有助于改变企业对IT系统的应用方式和依赖程度。
所以WebServices技术成为了网络上的主流技术之一,随之也来的是大量的开发人员开始开发Web服务,随着时间的推移,网络上出现了大量的Web服务。
但是,大量的Web服务分布在网络中的各个地方,给用户寻找特定功能的服务造成了不小的麻烦,也给服务开发者在原有的服务上进行再次开发造成了不便。
本课题的任务就是研究如何把网络上分散的Web服务搜集在一起。
2、参考文献
[1]孙立伟,何国辉,吴礼发;网络爬虫技术研究;ComputerKnowledgeandTechnology电脑知识与技术;Vol.4,No.15,May2010,pp.4112-4115
[2]李盛韬,余智华,程学旗.Web信息采集研究进展【J】.计算机科学,2003.
[3]S.Chakrabarti,M.vandenBergandB.Dom.FocusedCrawling:
ANewApproachtoTopic-SpecifiWebResourceDiscovery[C].InProceedingsofthe8thInternationalWorldWideWebConference,Toronto,Canada,1999.
[4]郑力明,易平;DesignofCrawlerBasedonHTMLParserInformationExtraction;微计算机信息,MicrocomputerInformation;09,June,2009。
[5]J.Cho,H.Garcia-Molina.Theevolutionofthewebandimplicationsforanincrementalcrawler[C].InProceedingsofthe26thInter-nationalConferenceonVeryLargeDatabase,Cairo,Egypt,2000.
[6]李文泽;个性化垂直搜索引擎研究;河南大学;2007-11-07;
[7]曾伟辉,李淼.深层网络爬虫研究综述[J].计算机系统应用,2008.
[8]周立柱,林 玲.聚焦爬虫技术研究综述[J].计算机应用,2005年9月.
[9]S.Chakrabarti,M.vandenBergandB.Dom.FocusedCrawling:
ANewApproachtoTopic-SpecificWebResourceDiscovery[C].InProceedingsofthe8thInternationalWorldWideWebConference,Toronto,Canada,1999.
[10]陈汶滨,夏学梅.基于聚焦爬虫的手机天气预报系统[J].今日科苑.2009年第2期.
[11]邱哲,符滔滔.开发自己的搜索引擎--Lucene2.0+Heritrix.人民邮电出版社,2007-4.
[12]罗刚.自己动手写网络爬虫.清华大学出版社.2010-10-1;
[13]Heritrix官方网站[EB/OL].crawler.archive.org
[14]seeda网站[EB/OL].
[15]网络爬虫[EB/OL].
三、设计(研究)内容和要求(包括设计或研究内容、主要指标
与技术参数,并根据课题性质对学生提出具体要求。
)
本系统将要达到以下目标:
●提供给用户一个种子文件,用户可以设置抓取Web服务的网站地址。
●根据种子地址,搜索种子网站上的Web服务。
●把搜索到的Web服务相关信息存入数据库中。
为了达到以上目的,本系统将对Heritrix开源框架进行扩展,并针对服务网站上服务的特点选择合适的爬虫抓取过程。
当服务网站提供了详细的服务信息,且网站服务的分布结构是有规律的,那么通过对网站结构的分析,可以得到网站中服务分布的一颗树,并用形式化语言描述这棵树,而经过扩展之后的爬虫对这颗树进行遍历,就实现了抓起网络上分布的WebService。
当服务网站没有提供服务的信息,只提供了WSDL文档的URL,那么就遍历网站中所有的本网站的网页,并判断网页中的链接是否是WSDL文档的URL,
如果是,就下载该WSDL文档。
指导教师(签字)
年月日
审题小组组长(签字)
年月日
天津大学本科生毕业设计(论文)开题报告
课题名称
WebServices网络爬虫
学院名称
软件学院
专业名称
软件工程
学生姓名
梁其烜
指导教师
冯志勇
1、课题来源及意义:
互联网上的服务数量正快速的增长,分布在不同的网站上,导致服务的用户需要在不同的网站之间寻找一个或者多个符合自己需求的服务,对于服务开发者来说,他们无法快速、准确的得知现有的服务开发现状,服务开发者无法重用现有的服务,重复开发已有的服务,导致一个糟糕的服务开发环境。
本课题的任务是抓取互联网上分散的服务,具有重要意义:
本系统把互联网上的服务都收集起来,并存储在本地数据库。
用户或者服务开发者就可以在基于该本系统数据库的搜索引擎中查找到所有的互联网上大部分的服务,节省了在不同网站间查找服务的时间。
服务用户可以快速、准确的找到符合自己需求的服务,服务开发者可以快速得知服务开发现状,避免重复开发,并且可以利用现有服务进行组合开发等。
2、国内外发展状况:
收集互联网上的信息的系统被称为网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),它是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。
另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。
网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型[1]:
通用网络爬虫[2]、聚焦网络爬虫[8]、增量式网络爬虫[5]、DeepWeb爬虫[7]。
通用网络爬虫[2]又称全网爬虫(ScalableWebCrawler),爬行对象从一些种子URL扩充到整个Web,主要为门户站点搜索引擎和大型Web服务提供商采集数据。
通用的网络爬虫大多应用于大型门户网站或类似于google这样的搜索引擎[15]。
聚焦网络爬虫(FocusedCrawler),又称主题网络爬虫(TopicalCrawler),是指选择性地爬行那些与预先定义好的主题相关页面的网络爬虫[3]。
随着垂直搜索的蓬勃发展,聚焦网络,也就是主题网络爬虫成为研究的前言,[4]提出通过深入分析生活类网站网址的树形结构的架构,开发了收集种子页面的URL的模拟搜集齐,并基于HTMLParser的信息提取方法,从种子与页面中提取出与生活类主题相关的目标URL。
增量式网络爬虫(IncrementalWebCrawler)[5]是指对已下载网页采取增量式更新和只爬行新产生的或者已经发生变化网页的爬虫,它能够在一定程度上保证所爬行的页面是尽可能新的页面。
本课题研究的是针对Web服务的聚焦网络爬虫技术。
因为聚焦网络爬虫技术能最快的,最准确的搜索Web服务信息。
本课题并不是重新开发一个爬虫程序,而是在现有爬虫开源框架的基础上进行扩展。
现有的网络爬虫框架有很多,例如:
Heritrix、Nutch、Larbin、J-Spider等。
Heritrix[13]是一个由Java开发的、开源的Web网络信息采集程序。
和其他开源的爬虫程序相比,Heritrix的优势在于它的扩展性,开发者可以扩展它的组件,来实现自己的抓取逻辑[6]。
现已有很多应用是在Heritrix上开发的。
例如:
基于聚焦爬虫的手机天气预报系统,它是在Heritrix的基本功能上进行扩展[11]和修改[12]。
由以上对爬虫类型和爬虫框架的发展现状分析,本课题使用Heritrix开源框架,并通过分析网络上分布Web服务的网站的树形结构的架构,实现针对Web服务主题的网络爬虫。
3、目标和内容:
我的研究目标是:
把互联网上广泛分布的WebService搜集起来,把相关信息存入数据库,存在两种情况:
第一种情况:
网站上的服务提供了关于服务的相关信息,那么本系统需要在抓取服务wsdl文档的同时,获取服务的相关信息。
针对这种情况,主要的研究内容如下:
1.开源框架Heritrix的扩展
因为现有的开源爬虫框架Heritrix提供了网络搜索的基本结构,所以,我会扩展Heritrix框架,使该框架适用于本系统。
a.重新改写Heritrix框架处理流程中的过滤链,以过滤不需要访问的网页。
b.重新改写Heritrix框架处理流程中的提取链,以提取网页包含的信息。
c.重新改写Heritrix框架处理流程中的写链,以下载搜索到的wsdl文档。
2.对网站服务分布结构的分析
a.对网站所有WebService的分类页面进行分析,分析出含有所有WebService的种类URl的table表格结构和URL的结构。
b.对某类别WebService页面进行分析,分析出含有所有该类别WebService的详细信息页面URL的table表格结构和URL的结构。
c.对WebService详细信息页面进行分析,分析出包含所有与该WebService相关的信息的table表格结构。
通过对网站结构的分析,可以得到网站中服务分布的一颗树,并用形式化语言描述这棵树。
采用数据结构中的树结构来描述网站服务的分布树,而经过扩展之后的爬虫得到根节点,并通过根节点对整棵树进行遍历,就实现了抓起网络上分布的WebService。
第二种情况:
网站上只提供了服务的wsdl文档的url,没有其它信息,那么本系统就只需要抓取服务的wsdl文档,也就不需要分析网站服务分部结构。
针对第二种情况,主要的研究内容如下:
重新改写Heritrix框架处理流程中的写链,以下载搜索到的wsdl文档。
利用
httpClient编写下载wsdl程序。
4、方法和手段:
在扩展Heritrix框架的过程中,遇到的问题或者使用的插件如下:
1.在改写Heritrix框架的提取链时,需要从分析网站结构中得到需要遍历
的网页URL。
2.在改写Heritrix框架的写链时,涉及到访问远程服务器,下载wsdl文档。
解决该问题时,我们用到了HTTPClient插件,该插件能够实现下载远程服务器上的文档,还可以设定连接时间等。
3.由于Heritrix框架提供了完善的UI界面操作,但是没有提供完整的代码启动程序,同时本课题需要把爬虫启动操作嵌入到其他程序中,所以需
要编写Heritrix的代码启动模块。
在分析网站结构时,需要用到HTMLParser插件,该插件能够实现对网页的详细分析,包括获取所有网页标签信息等功能。
利用该插件,我们可以准确无误的获取服务的所有详细信息。
在分析网页结构时,需要人工对网页的包含信息的
标签进行分析,得到该下信息分布的情况,然后使用HTMLParser准确定位到需求信息的位置,并提取信息。分析网站结构过程如下:
1.提供一个包含所有Webservice类别的网页的URL,分析该网页,用以上分析页面的方法提取出所有的类别页面的URL,取出一个服务类别页面URL。
2.并对该类别页面进行分析,提取出所有的Webservice详细信息页面的URL。
3.对详细信息页面进行分析,提取出所有与Webservice相关的信息。
4.把这些相关信息存入到数据库中。
5.提取下一个类别URL。
并重复2步骤。
爬虫无限循环执行对页面的分析,直到没有未访问过的URL存在。
五、可行性分析:
网络上Web服务的飞速增长,例如网站的服务数量达到了2万多个,且服务的种类很多,为本系统提供了非常好的搜索源。
并且网站的分布结构十分清晰,有利于我们设计简单有效地搜索策略。
同时网络爬虫技术的飞速发展,各种爬虫开源框架的出现,为我们的爬虫系统提供了良好的技术基础。
在开源框架的基础上,结合对Web服务网站的结构分析,就可以实现对网络上分布的Web服务抓取。
6、进度安排:
1.学习与爬虫相关的基本知识,10.11.20至11.1.20。
2.概念抽象,对于webservices爬虫的分析和设计,11.1.20至11.3.10。
3.构建webservices爬虫,11.3.10至11.4.10。
4.编程实现与爬虫测试,11.4.10至11.5.1。
5.基于此系统,完成论文,提出自己的主张,11.5.1至11.6.10。
7、参考文献:
[1]孙立伟,何国辉,吴礼发;网络爬虫技术研究;ComputerKnowledgeandTechnology电脑知识与技术;Vol.4,No.15,May2010,pp.4112-4115
[2]李盛韬,余智华,程学旗.Web信息采集研究进展【J】.计算机科学,2003.
[3]S.Chakrabarti,M.vandenBergandB.Dom.FocusedCrawling:
ANewApproachtoTopic-SpecifiWebResourceDiscovery[C].InProceedingsofthe8thInternationalWorldWideWebConference,Toronto,Canada,1999.
[4]郑力明,易平;DesignofCrawlerBasedonHTMLParserInformationExtraction;微计算机信息,MicrocomputerInformation;09,June,2009。
[5]J.Cho,H.Garcia-Molina.Theevolutionofthewebandimplicationsforanincrementalcrawler[C].InProceedingsofthe26thInter-nationalConferenceonVeryLargeDatabase,Cairo,Egypt,2000.
[6]李文泽;个性化垂直搜索引擎研究;河南大学;2007-11-07;
[7]曾伟辉,李淼.深层网络爬虫研究综述[J].计算机系统应用,2008.
[8]周立柱,林 玲.聚焦爬虫技术研究综述[J].计算机应用,2005年9月.
[9]S.Chakrabarti,M.vandenBergandB.Dom.FocusedCrawling:
ANewApproachtoTopic-SpecificWebResourceDiscovery[C].InProceedingsofthe8thInternationalWorldWideWebConference,Toronto,Canada,1999.
[10]陈汶滨,夏学梅.基于聚焦爬虫的手机天气预报系统[J].今日科苑.2009年第2期.
[11]邱哲,符滔滔.开发自己的搜索引擎--Lucene2.0+Heritrix.人民邮电出版社,2007-4.
[12]罗刚.自己动手写网络爬虫.清华大学出版社.2010-10-1;
[13]Heritrix官方网站[EB/OL].crawler.archive.org
[14]网络爬虫[EB/OL].
[15]Roberston,L.Anecdotes[Googlesearchengine][J].AnnalsoftheHistoryofComputing,2005,Volume27:
96-97.
选题是否合适:
是□否□
课题能否实现:
能□不能□
指导教师(签字)
年月日
选题是否合适:
是□否□
课题能否实现:
能□不能□
审题小组组长(签字)
年月日
摘要
互联网上的服务数量增长快速,网站提供的关于服务的信息也各异,导致用户难以正确、快速的找到合适的服务,为了解决以上问题,需要获取和保存服务的WSDL的URL和相关的服务信息。
本文完成了一个Web服务信息分析、抓取的网络爬虫,主要研究开发内容有:
1)分析服务网站结构:
在抓取某个网站上的服务前,要人工的分析出该网站哪些页面需要抓取,哪些页面中哪些信息需要抓取;2)页面信息提取:
根据人工分析出的哪些页面中哪些信息需要抓取的结构,使用HtmlParser工具抓取页面中的信息。
3)下载WSDL文档:
在抓取到了服务WSDL的URL后,使用HtmlClient下载WSDL文档。
4)加载服务信息到数据库:
把在页面信息提取中得到的关于服务的信息存入数据库中。
通过对Web服务的抓取,用户可以通过统一的入口来访问这些服务,而不用在互联网上盲目搜索。
为服务的使用和开发提供更加便利的平台环境。
关键词:
爬虫;网络服务;WSDL;
ABSTRACT
ThenumberofservicesontheInternetIncreasequickly,theinformationsitesprovideaboutservicesisalsodifferent,leadingtothatitisdifficultforuserstocorrectlyandquicklyfindtherightservices,inordertosolvetheaboveproblems,needingtocaptureandstoretheservice'sWSDLURLandrelatedserviceinformation.
ThispapercompletedaWebCrawleraboutWebserviceinformationanalysisandcrawl.Themainresearchanddevelopmentcontentsare:
1)AnalysisServiceWebsitestructure:
beforecapturingtheservicesonaWebsite,needingtomanuallyanalyzewhichpagesofthesiteneedtobecaptured,andwhichinformationinwhichpagesneedstobecaptured;2)Pageinformationextraction:
Accordingtothemanualanalysisthatwhichinformationinwhichpaperneedstobecaptured,thenusingHtmlParsertoolstocapturetheinformationinthepage;3)DownloadingtheWSDLdocument:
capturingtheserviceWSDLURL,andthenusingHtmlClienttodownloadtheWSDLdocument.4)Loadingserviceinformationintothedatabase:
storetheinformationabouttheserviceintothedatabase.
AfterCrawlingtheWebservice,userscanaccessWebservicesthroughaunifiedportal,ratherthanblindlysearchingontheInternet.Providingamoreconvenientplatformenvironmentfortheuseanddevelopmentofservices.
Keywords:
Crawler;Webservice;WSDL;
第1章绪论
1.1问题的背景和意义
随着互联网的飞速发展,应用程序的集成,软件和数据的重用成为互联网发展的障碍。
Web服务的出现有效的解决了以上难题。
Web服务允许应用开发者对不同语言,不同平台的应用程序进行集成,允许在程序中调用Web服务。
正因为Web服务的有效的解决了以上问题,互联网上的服务发展迅速,服务数量飞速增长。
服务数量的增长,使得用户查找服务变得困难。
另外,Web服务的发展也产生了另外一个应用模式:
组合应用(Mushup),把不同的Web服务进行组合,满足用户需求。
现在,互联网上存在许多被动的,集中式的服务注册网站,这类网站上的服务可能大部分来源于网站国家的开发者,服务功能针对某一领域。
但是通过主动式的爬取,获得并存储互联网上的服务,对服务进行集中管理,有利于对用户提供统一的访问方式,有利于对互联网服务的分析,提高组合的效率。
1.2研究目的和主要内容
为了对互联网服务进行集中管理,需要将互联网
展开阅读全文
相关搜索