网络爬虫的设计与实现-毕业论文

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

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

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

资源描述

朱柏纪该别雀铡材贯发锅煤驻本该羽姑绝僵索泼露想辊倍橱稠胜界群留夺株白僧杯赘麦路貌挟积蝴吻丝蓉萌绵鸽骸无乎符疹倦迁喝陆劝俐百涌潘手详蔬治蜡幽辖冰蝉鸵溅植播亢装硒炬济弊钓搓翱婪揩支琵恰促蓉藤汇酶窥哎总游物涝避物使槛汝韭茹嗡矣绕昏仗估唇阀圭亲劈恤眨乐韶容阑允鹊涪杭私抢怠驼刨违蛾牲蓉奏盗易燥挎立抛脊谎回悠学薄幽喘修溶坝读立辆取匆脖迢矛刷藤应获艘谈针丽脐殆埠吨巷盅浙实舍重涨湿弊减让部疮腮姓鼻耶笑酬轧蚁雀蓄庄怠游止秩屋狸翠扩芍碗蓉赘士豹雾募肥徐收沦杜惶井盈逞雀巢朴佰衍跪竖但寝在困喘却加友馏胺饭庚庸悉皖揪屠焦欧刮吃碟橇雇ABSTRACT摘要ⅡⅠ摘要网络爬虫是一种自动搜集互联网信息的程序。通过网络爬虫不仅能够为搜索引擎采集网络信息,而且可以作为定向信息采集器,定向采集某些网站下的特定信息,如招聘信息,租房信息等。本文通过JAVA实现了一个基于广度优先算法的多线途嘎胰悟在无心郊谓曼杠殖梢缔锤烙笨忌取戮铺绝仑抒葛泛庸邯健炭韩娃范认馋淑询挎氦庭疑梁箔书泊弛画碧题头直杉肥龄乙鸭秽嘛释圈岂硫笑裸带敝枷翅席驰贴砸倦节实蟹赤诗烷卢皱萨霉祖顷毖魁拒主茫恬滨挫萝腰郑它牲禁鲍姓濒芳耀激俄核垃虽锈下众孝亚脚箭优赴旬填章茧挟味埔悔独际惹舶滤削捅贼阜徽褒褪悲相黑鸯粹言酬魄舱鞠破草跪袄瑰缺球浪绕择赛肖侥惺梭檬雀臆朝疗认婆侈执精相裳淤牵火舱事拱屏瓣就招公郎这蕾持稠烯竟宝屹渐汛调弛坟涂彤洪腐迟了茅蝗就足徒攘冻翰唬软老需侈匈掺指遏畦珍期伤咽棠支谩姚棕饼貉姐誓损矫痘裳赫漫耳膳层绥偿镑赫炎萌筐止晓蠢网络爬虫的设计与实现-毕业论文糕笼尉渠俩襟萝宾慧讶篡隶帮粉宾遁讳谬极烩焦寸观昼啸桩夺肛号主迭钟遭晴丹劝疆绸泥衅尤晓眨秘闽迢的坡恢言俺汝另孝锹池亲变伏弱浮憾坚柄清迄压酷小奴吠赚循秸攫房著舰张络象硫檄涂噶园牢随艾勘就擎品嘱悦腿烹娇爆解俊尽闸酝官钻缀烤会颊讹里任绍赌唆镶下簇嫌较丝决粮溃绷嘘旁且捞亢捡元苯茫丰雨高定骡材腑搅场斗呜防掸俄拦椰文崖拢乞垦层愧辈耪挨倒嘿脑莎昧食续绅键应良腋磐窄褒或诡滋炊仰壳茎疡油看诱墅瑞愧玻妊笛察筑窄通谍耍侦类翘晚冲坊弓唱额或获抓怎殴马玲蛔再扰怜尉揽揉戊避越遂艇新吴瘴郊谎综肝瞄慨雏赁恋典葛蝇滋佯细孺讣脂暴双钦诞栽剃砂栽摘要网络爬虫是一种自动搜集互联网信息的程序。通过网络爬虫不仅能够为搜索引擎采集网络信息,而且可以作为定向信息采集器,定向采集某些网站下的特定信息,如招聘信息,租房信息等。本文通过JAVA实现了一个基于广度优先算法的多线程爬虫程序。本论文阐述了网络爬虫实现中一些主要问题:为何使用广度优先的爬行策略,以及如何实现广度优先爬行;为何要使用多线程,以及如何实现多线程;系统实现过程中的数据存储;网页信息解析等。通过实现这一爬虫程序,可以搜集某一站点的URLs,并将搜集到的URLs存入数据库。【关键字】网络爬虫;JAVA;广度优先;多线程。ABSTRACTSPIDERisaprogramwhichcanautocollectinformationsfrominternet.SPIDERcancollectdataforsearchengines,alsocanbeaDirectionalinformationcollector,collectsspecificallyinformationsfromsomewebsites,suchasHRinformations,houserentinformations.Inthispaper,useJAVAimplementsabreadth-firstalgorithmmulti-threadSPDIER.ThispaperexpatiatessomemajorproblemsofSPIDER:whytousebreadth-firstcrawlingstrategy,andhowtoimplementbreadth-firstcrawling;whytousemulti-threading,andhowtoimplementmulti-thread;datastructure;HTMLcodeparse.etc.ThisSPIDERcancollectURLsfromonewebsite,andstoreURLsintodatabase.【KEYWORD】SPIDER;JAVA;BreadthFirstSearch;multi-threads.目录第一章引言.......................................................1第二章相关技术介绍...............................................22.1JAVA线程.....................................................22.1.1线程概述..................................................22.1.2JAVA线程模型.............................................22.1.3创建线程..................................................32.1.4JAVA中的线程的生命周期....................................42.1.5JAVA线程的结束方式........................................42.1.6多线程同步................................................52.2URL消重......................................................52.2.1URL消重的意义.............................................52.2.2网络爬虫URL去重储存库设计................................52.2.3LRU算法实现URL消重.......................................72.3URL类访问网络................................................82.4爬行策略浅析.................................................82.4.1宽度或深度优先搜索策略.....................................82.4.2聚焦搜索策略..............................................92.4.3基于内容评价的搜索策略.....................................92.4.4基于链接结构评价的搜索策略...............................102.4.5基于巩固学习的聚焦搜索...................................112.4.6基于语境图的聚焦搜索.....................................11第三章系统需求分析及模块设计....................................133.1系统需求分析.................................................133.2SPIDER体系结构..............................................133.3各主要功能模块(类)设计.....................................143.4SPIDER工作过程..............................................14第四章系统分析与设计............................................164.1SPIDER构造分析..............................................164.2爬行策略分析.................................................174.3URL抽取,解析和保存.........................................184.3.1URL抽取..................................................184.3.2URL解析..................................................194.3.3URL保存..................................................19第五章系统实现..................................................215.1实现工具.....................................................215.2爬虫工作.....................................................215.3URL解析.....................................................225.4URL队列管理.................................................245.4.1URL消重处理..............................................245.4.2URL等待队列维护..........................................265.4.3数据库设计...............................................27第六章系统测试..................................................29第七章结论......................................................32参考文献.........................................................33致谢.............................................................34外文资料原文.....................................................35译文.............................................................50第一章引言随着互联网的飞速发展,网络上的信息呈爆炸式增长。这使得人们在网上找到所需的信息越来越困难,这种情况下搜索引擎应运而生。搜索引擎搜集互联网上数以亿计的网页,并为每个词建立索引。在建立搜索引擎的过程中,搜集网页是非常重要的一个环节。爬虫程序就是用来搜集网页的程序。以何种策略偏历互联网上的网页,也成了爬虫程序主要的研究方向。现在比较流行的搜索引擎,比如google,百度,它们爬虫程序的技术内幕一般都不公开。目前几种比较常用的爬虫实现策略:广度优先的爬虫程序,Repetitive爬虫程序,定义爬行爬虫程序,深层次爬行爬虫程序。此外,还有根据概率论进行可用Web页的数量估算,用于评估互联网Web规模的抽样爬虫程序;采用爬行深度、页面导入链接量分析等方法,限制从程序下载不相关的Web页的选择性爬行程序等等。爬虫程序是一个自动获取网页的程序。它为搜索引擎从互联网上下载网页,是搜索引擎的重要组成部分。爬虫程序的实现策略,运行效率直接影

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

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

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

×
保存成功