网络爬虫的设计与实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

山东科技大学信息学院本科毕业论文摘要本课题的主要目的是设计面向定向网站的网络爬虫程序,同时需要满足不同的性能要求,详细涉及到定向网络爬虫的各个细节与应用环节。搜索引擎作为一个辅助人们检索信息的工具。但是,这些通用性搜索引擎也存在着一定的局限性。不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。为了解决这个问题,一个灵活的爬虫有着无可替代的重要意义。网络爬虫应用智能自构造技术,随着不同主题的网站,可以自动分析构造URL,去重。网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。为了适应不同需求,使网络爬虫可以根据预先设定的主题实现对特定主题的爬取。研究网络爬虫的原理并实现爬虫的相关功能,并将爬去的数据清洗之后存入数据库,后期可视化显示。关键词:网络爬虫,定向爬取,多线程,Mongodb山东科技大学信息学院本科毕业论文ABSTRACTThemainpurposeofthisprojectistodesignsubject-orientedwebcrawlerprocess,whichrequiretomeetdifferentperformanceandrelatedtothevariousdetailsofthetargetedwebcrawlerandapplicationindetail.Searchengineisatooltohelppeopleretrieveinformation.However,thesegeneralsearchenginesalsohavesomelimitations.Usersindifferentfieldsandbackgroundstendtohavedifferentpurposesandneeds,andtheresultsreturnedbygeneralsearchenginescontainalargenumberofwebpagesthatusersdon'tcareabout.Inordertosolvethisproblem,itisofgreatsignificanceforaflexiblecrawler.Webcrawlerapplicationofintelligentselfconstructiontechnology,withthedifferentthemesofthesite,youcanautomaticallyanalyzethestructureofURL,andcancelduplicatepart.Webcrawlerusemulti-threadingtechnology,sothatthecrawlerhasamorepowerfulabilitytograb.Settingconnectionandreadingtimeofthenetworkcrawleristoavoidunlimitedwaiting.Inordertoadapttothedifferentneeds,thewebcrawlercanbaseonthepresetthemestorealizetofilchthespecifictopics.What’smore,weshouldstudytheprincipleofthewebcrawler,realizetherelevantfunctionsofreptiles,savethestolendatatothedatabaseaftercleaningandinlateachievethevisualdisplay.Keywords:Webcrawler,Directionalclimb,multi-threading,mongodb山东科技大学信息学院本科毕业论文目录第一章概述..............................11.1课题背景.....................................11.2网络爬虫的历史和分类.........................1第二章文献综述..........................72.1网络爬虫理论概述.............................72.2网络爬虫框架介绍.............................8第三章研究方案.........................163.1网络爬虫的模型分析..........................163.2URL构造策略.................................193.3数据提取与存储分析..........................19第四章网络爬虫模型的设计和实现..........214.1网络爬虫总体设计............................214.2网络爬虫具体设计............................21第五章实验与结果分析....................375.2结果分析....................................40参考文献...................................36致谢.......................................37附录1......................................37附录2......................................47山东科技大学信息学院本科毕业论文1第一章概述1.1课题背景网络爬虫,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。网络检索功能起于互联网内容爆炸性发展所带来的对内容检索的需求。搜索引擎不断的发展,人们的需求也在不断的提高,网络信息搜索已经成为人们每天都要进行的内容.如何使搜索引擎能时刻满足人们的需求。最初的检索功能通过索引站的方式实现,而有了网络机器人。但是,这些通用性搜索引擎也存在着一定的局限性。不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。为了解决这个问题,一个灵活的爬虫有着无可替代的重要意义。1.2网络爬虫的历史和分类1.2.1网络爬虫的历史在互联网发展初期,网站相对较少,信息查找比较容易。然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满足大众信息检索需求的专业搜索网站便应运而生了。山东科技大学信息学院本科毕业论文2现代意义上的搜索引擎的祖先,是1990年由蒙特利尔大学学生AlanEmtage发明的Archie。虽然当时WorldWideWeb还未出现,但网络中文件传输还是相当频繁的,而且由于大量的文件散布在各个分散的FTP主机中,查询起来非常不便,因此AlanArchie工作原理与现在的搜索引擎已经很接近,它依靠脚本程序自动搜索网上的文件,然后对有关信息进行索引,供使用者以一定的表达式查询。由于Archie深受用户欢迎,受其启发,美国内华达SystemComputingServices大学于1993年开发了另一个与之非常相似的搜索工具,不过此时的搜索工具除了索引文件外,已能检索网页。当时,“机器人”一词在编程者中十分流行。电脑“机器人”(ComputerRobot)是指某个能以人类无法达到的速度不间断地执行某项任务的软件程序。由于专门用于检索信息的“机器人”程序象蜘蛛一样在网络间爬来爬去,因此,搜索引擎的“机器人”程序就被称为“蜘蛛”程序。世界上第一个用于监测互联网发展规模的“机器人”程序是MatthewGray开发的WorldwideWebWanderer。刚开始它只用来统计互联网上的服务器数量,后来则发展为能够检索网站域名。与Wanderer相对应,MartinKoster于1993年10月创建了ALIWEB,它是Archie的HTTP版本。ALIWEB不使用“机器人”程序,而是靠网站主动提交信息来建立自己的链接索引,类似于现在我们熟知的Yahoo。随着互联网的迅速发展,使得检索所有新出现的网页变得越来越困难,因此,在MatthewGray的Wanderer基础上,一些编程者将传统的“蜘蛛”程序工作原理作了些改进。其设想是,既然所有网页都可能有连向其他网站的链接,那么从跟踪一个网站的链接开始,就有可能检索整个互联网。到1993年底,一些基于此原理的搜索引擎开始纷纷涌现,其中以JumpStation、The山东科技大学信息学院本科毕业论文3WorldWideWebWorm(Goto的前身,也就是今天Overture),和Repository-BasedSoftwareEngineering(RBSE)spider最负盛名。然而JumpStation和只是以搜索工具在数据库中找到匹配信息的先后次序排列搜索结果,因此毫无信息关联度可言。而RBSE是第一个在搜索结果排列中引入关键字串匹配程度概念的引擎最早现代意义上的搜索引擎出现于1994年7月。当时MichaelMauldin将JohnLeavitt的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的Lycos。同年4月,斯坦福(Stanford)大学的两名博士生,DavidFilo和美籍华人杨致远(GerryYang)共同创办了超级目录索引Yahoo,并成功地使搜索引擎的概念深入人心。从此搜索引擎进入了高速发展时期。目前,互联网上有名有姓的搜索引擎已达数百家,其检索的信息量也与从前不可同日而语。比如最近风头正劲的Google,其数据库中存放的网页已达30亿之巨。随着互联网规模的急剧膨胀,一家搜索引擎光靠自己单打独斗已无法适应目前的市场状况,因此现在搜索引擎之间开始出现了分工协作,并有了专业的搜索引擎技术和搜索数据库服务提供商。象国外的Inktomi,它本身并不是直接面向用户的搜索引擎,但向包括Overture(原GoTo)、LookSmart、MSN、HotBot等在内的其他搜索引擎提供全文网页搜索服务。国内的百度也属于这一类(注),搜狐和新浪用的就是它的技术。从这个意义上说,它们是搜索引擎的搜索引擎。1.2.2网络爬虫的分类网络爬虫种类繁多,如果按照部署在哪里分,可以分成:山东科技大学信息学院本科毕业论文41,服务器侧:一般是一个多线程程序,同时下载多个目标HTML,可以用PHP,Java,Python等做,一般综合搜索引擎的爬虫这样做。但是,如果对方讨厌爬虫,很可能封掉服务器的IP,服务器IP又不容易改,另外耗用的带宽也是较贵。2,客户端:很适合部署定题爬虫,或者叫聚焦爬虫。做一个与Google,百度等竞争的综合搜索引擎成功的机会微乎其微,而垂直搜索或者竞价服务或者推荐引擎,机会要多得多,这类爬虫不是什么页面都取的,而是只取关心的页面,而且只取页面上关心的内容,例如提取黄页信息,商品价格信息,还有提取竞争对手广告信息的。这类爬虫可以部署很多,而且可以很有侵略性。可以低成本大量部署,由于客户端IP地址是动态的,所以很难被目标网站封锁。1.3网络爬虫的发展趋势目前,大多数的搜索引擎都是基于关键词的搜索引擎。基于关键字匹配的搜索技术有较大的局限性:首先,它不能区分同形异义。其次,不能联想到关键字的同义词。Web商业化至今,搜索引擎始终保持着网络上被使用最多的服务项目的地位,然而,随着网上内容的爆炸式增长和内容形式花样的不断翻新,搜索引擎越来越不能满足挑剔的网民们的各种信息需求。搜索引擎的发展面临着两大难题:一是如何跟上Internet的发展速度,二是如何为用户提供更精确的查询结果。所以,传统的引擎不能适应信息技术的高速发展,新一代智能搜索引擎作为一种高效搜索引擎技术的在当今的网络信息时代日益引起业界人士的关注。搜索引擎己成

1 / 71
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功