资源描述:
《web服务爬虫程序的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Web服务爬虫程序的设计与实现Web服务爬虫程序的设计与实现摘要随着互联网的发展人们对跨平台程序之间进行交互的需求也越来越大,Web服务的提出有效地满足了人们的需要,它可以实现两个跨平台程序之间的无缝连接,从而降低了软件维护和升级的费用。目前,互联网上存在着大量的Web服务,但是它们大都分散在不同的服务器上,这就使得用户在浩瀚的互联网上寻找自己需要的服务时要耗费大量的时间和精力,因此设计一个可以将到处分散的服务收集起来,统一存储在本地数据库,并对其进行管理与更新的程序十分有必要。本项目是一个基于P
2、ython的多线程的Web服务爬虫程序,它采用广度优先爬取的方式,先抓取出种子网站的全部URL链接存入列队中,然后再依次访问列队中的URL,继续抓取页面中新的URL往列队中存放,一直循环直到列队为空停止。对于抓取到的URL依次用正则表达式进行判别,检查其是否符合Web服务WSDL文档的规范。对于符合规范的URL,访问其对应的页面,若可以访问则将该页面下载到本地,如此,便可以将网络上分散的Web服务描述文档WSDL文档都抓取到本地。接下来,对抓取到本地的文档进行解析,获取其中的关键信息,比如服务名称
3、、端口类型、操作等,然后将这些信息存入数据库中。最后,开发一个Web服务展示网站将爬取到的Web服务进行分类展示到页面上,同时显示其相关信息,方便用户查看与阅读。 本文对该爬虫程序进行了详细的介绍。首先从研究背景与现状入手,在介绍完项目关键技术的基础上,重点介绍了Web服务爬虫程序的设计、WSDL文档的解析与存储以及展示网站的设计与实现,最后对整个项目进行了总结并对该项目以后的发展做了展望。关键词:Web服务,网络爬虫,WSDL,Python,服务解析47Web服务爬虫程序的设计与实现DESIG
4、NANDIMPLENMENTATIONOFWEBCLAWEROFWEBSERVICEAbstractWiththedevelopmentoftheInternet,thedemandforinteractionofcrossplatformprogramisalsogrowing,theproposalofWebserviceseffectivelymeetstheneeds.Webservicescanachieveaseamlessconnectionbetweenthetwocrosspla
5、tformprograms,whichreducessoftwaremaintenanceandupgradecosts.Currently,therearealargenumberofWebservicesontheInternet,butmostofthemscatteredindifferentserver,whichmakesusersspendalotoftimeandenergytofindtheminthevastInternetwhentheyneedthisservice.Soi
6、tisnecessarytodesignaprogramthatcancollectedserviceswhichdecentralizedeverywheretolocaldatabasetounifiedstorage,manageandupdate.Theprojectisamulti-threadedPython-basedWebservicecrawler,whichusesbreadth-firstcrawlingway.Firstly,thecrawlercrawlsoutofthe
7、entireURLsfromseedpage,thenturntheURLintothequeueandturntoaccesstheURLofURLqueue,andthencontinuetocrawlthepagetogetnewURLs,repeattheaboveoperationuntilthequeueisempty.FortheURLcrawled,discriminatingthemwitharegularexpression,tocheckwhethertheymeettheW
8、ebserviceWSDLdocumentspecification.ForcompliantURL,visitthecorrespondingpage,ifyoucanaccessthepagethendownloadit,thenWSDLdocumentsarecrawledlocally.Next,thelocaldocumentscrawledneedtoparsetogetthecriticalinformation,suchastheservicename,portty