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

合集下载

搜索引擎网络爬虫设计与实现毕业设计

搜索引擎网络爬虫设计与实现毕业设计

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 搜索引擎网络爬虫设计与实现毕业设计- 网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事情。

建立搜索引擎就是解决这个问题的最好方法。

本文首先详细介绍了基于英特网的搜索引擎的系统结构,然后具体阐述了如何设计并实现搜索引擎的搜索器网络爬虫。

多线程网络爬虫程序是从指定的 Web 页面中按照宽度优先算法进行解析、搜索,并把搜索到的每条 URL 进行抓取、保存并且以 URL 为新的入口在互联网上进行不断的爬行的自动执行后台程序。

网络爬虫主要应用 socket 套接字技术、正则表达式、 HTTP 协议、windows 网络编程技术等相关技术,以 C++语言作为实现语言,并在VC6.0 下调试通过。

在网络爬虫的设计与实现的章节中除了详细的阐述技术核心外还结合了多线程网络爬虫的实现代码来说明,易于理解。

本网络爬虫是一个能够在后台运行的以配置文件来作为初始URL,以宽度优先算法向下爬行,保存目标 URL 的网络程序,能够执行普通用户网络搜索任务。

搜索引擎;网络爬虫; URL 搜索器;多线程 - Design and Realization of Search Engine Network Spider Abstract The resource of network is very rich, but how to search the1 / 2effective information is a difficult task. The establishment of a search engine is the best way to solve this problem. This paper first introduces the internet-based search engine structure, and then illustrates how to implement search engine ----network spiders. The multi-thread network spider procedure is from the Web page which assigns according to the width priority algorithm connection for analysis and search, and each URL is snatched and preserved, and make the result URL as the new source entrance unceasing crawling on internet to carry out the backgoud automatically. My paper of network spider mainly applies to the socket technology, the regular expression, the HTTP agreement, the windows network programming technology and other correlation technique, and taking C++ language as implemented language, and passes under VC6.0 debugging. In the chapter of the spider design and implementation, besides a detailed exposition of the core technology in conjunction with the multi-threaded network spider to illustrate the realization of the code, it is easy to understand. This network spide...。

(精品)网络爬虫的设计与实现毕业论文

(精品)网络爬虫的设计与实现毕业论文

摘要网络爬虫是一种自动搜集互联网信息的程序。

通过网络爬虫不仅能够为搜索引擎采集网络信息,而且可以作为定向信息采集器,定向采集某些网站下的特定信息,如招聘信息,租房信息等。

本文通过JAVA实现了一个基于广度优先算法的多线程爬虫程序。

本论文阐述了网络爬虫实现中一些主要问题:为何使用广度优先的爬行策略,以及如何实现广度优先爬行;为何要使用多线程,以及如何实现多线程;系统实现过程中的数据存储;网页信息解析等。

通过实现这一爬虫程序,可以搜集某一站点的URLs,并将搜集到的URLs 存入数据库。

【关键字】网络爬虫;JAVA;广度优先;多线程。

ABSTRACTSPIDER is a program which can auto collect informations from internet. SPIDER can collect data for search engines, also can be a Directional information collector, collects specifically informations from some web sites, such as HR informations, this paper, use JAVA implements a breadth-first algorithm multi-thread SPDIER. This paper expatiates some major problems of SPIDER: why to use breadth-first crawling strategy, and collect URLs from one web site, and store URLs into database.【KEY WORD】SPIDER; JA V A; Breadth First Search; multi-threads.目录第一章引言 (1)第二章相关技术介绍 (2)2.1JAVA线程 (2)2.1.1 线程概述 (2)2.1.2 JAVA线程模型 (2)2.1.3 创建线程 (3)2.1.4 JAVA中的线程的生命周期 (4)2.1.5 JAVA线程的结束方式 (4)2.1.6 多线程同步 (5)2.2URL消重 (5)2.2.1 URL消重的意义 (5)2.2.2 网络爬虫URL去重储存库设计 (5)2.2.3 LRU算法实现URL消重 (7)2.3URL类访问网络 (8)2.4爬行策略浅析 (8)2.4.1宽度或深度优先搜索策略 (8)2.4.2 聚焦搜索策略 (9)2.4.3基于内容评价的搜索策略 (9)2.4.4 基于链接结构评价的搜索策略 (10)2.4.5 基于巩固学习的聚焦搜索 (11)2.4.6 基于语境图的聚焦搜索 (11)第三章系统需求分析及模块设计 (13)3.1系统需求分析 (13)3.2SPIDER体系结构 (13)3.3各主要功能模块(类)设计 (14)3.4SPIDER工作过程 (14)第四章系统分析与设计 (16)4.1SPIDER构造分析 (16)4.2爬行策略分析 (17)4.3URL抽取,解析和保存 (18)4.3.1 URL抽取 (18)4.3.2 URL解析 (19)4.3.3 URL保存 (19)第五章系统实现 (21)5.1实现工具 (21)5.2爬虫工作 (21)5.3URL解析 (22)5.4URL队列管理 (24)5.4.1 URL消重处理 (24)5.4.2 URL等待队列维护 (26)5.4.3 数据库设计 (27)第六章系统测试 (29)第七章结论 (32)参考文献 (33)致谢 (34)外文资料原文 (35)译文 (51)第一章引言随着互联网的飞速发展,网络上的信息呈爆炸式增长。

搜索引擎中网络爬虫的设计与实现

搜索引擎中网络爬虫的设计与实现

搜索引擎中网络爬虫的设计与实现摘要:随着信息时代的来临,互联网逐渐渗透到我们生活中的每个角落,其中搜索引擎的应用,更是为我们的生活和学习带来了很大的便利。

研究搜索引擎中网络爬虫的设计与实现,对于优化搜索引擎性能,提升搜索引擎效率有着重要的意义。

本文主要分析了基于主题搜索引擎中网络爬虫的设计与实现,并提出了相应的方法和手段。

关键词:主题搜索引擎;网络爬虫;设计;实现搜索引擎的使用,使人们能够更加方便快捷地从网络上获取想要的信息。

随着互联网和计算机技术的不断发展,传统的通用搜索引擎已经很难满足人们的信息检索要求,而主题搜索引擎的产生为信息检索服务水平的提高带来了福音。

而作为搜索引擎的基础部分,网络爬虫对于信息检索服务的实现起着举足轻重的作用。

因而只有根据搜索引擎的发展和创新不断优化网络爬虫的设计,才能提高网络爬虫的性能以及主题搜索引擎的应能。

1 主题搜索引擎和网络爬虫将互联网中大量的进行信息选取、整理存储并建立索引,再提供友好接口,使用户在这些信息中及时、准确、快速获取需求的信息的查询系统就是搜索引擎。

主题搜索引擎,是以构建某一专题领域或者某一学科领域的因特网信息资源库为目的,在互联网上智能的搜集符合设定专题要求或者符合该学科需要的信息和资源。

主题搜索引擎的产生,克服了传统搜索引擎在信息检索服务中的诸多困难,不但使信息检索变得更加细致、精确,使搜索到的数据更加精确和全面,搜索到的信息更加深入,同时也使相关专题信息资源和学科信息资源的更新更加及时,总之,大大提高了信息检索服务质量,提高了搜索引擎的性能。

网络爬虫是搜索引擎中,探索与下载网页资源的程序,在搜索的过程中,程序自己判断下一步抓取的对象,具有相应的智能性,因此又叫网络机器人。

网页之间的链接,使互联网形成了网状的结构,爬虫程序类似这张网上的蜘蛛,所以叫网络蜘蛛。

网络爬虫作为搜索引擎的基础组成部分,起着重要的作用。

随着应用的不断深化,技术的快速进步,网络爬虫更加普遍地运用于站点结构分析、页面有效性分析、内容安全检测、用户兴趣挖掘以及个性化信息获取等多种服务中。

网络爬虫毕业设计

网络爬虫毕业设计

网络爬虫毕业设计网络爬虫毕业设计随着互联网的迅猛发展,信息的获取变得越来越方便。

而在这个信息爆炸的时代,网络爬虫作为一种高效的信息获取工具,受到了广泛的关注和应用。

作为一名计算机专业的毕业生,我选择了网络爬虫作为我的毕业设计主题。

首先,我将介绍网络爬虫的基本原理和工作方式。

网络爬虫是一种自动化程序,通过模拟人类的浏览行为,从互联网上抓取各种信息。

它可以访问网页,提取文本、图片、链接等信息,并将其保存到本地数据库或文件中。

网络爬虫通常使用HTTP协议来进行网页的请求和响应,通过解析HTML文档来提取所需的信息。

接下来,我将介绍网络爬虫的应用领域。

网络爬虫广泛应用于搜索引擎、数据挖掘、舆情监测、价格比较、信息聚合等领域。

例如,搜索引擎利用网络爬虫来抓取互联网上的网页,并建立索引,以便用户能够快速找到所需的信息。

数据挖掘领域可以利用网络爬虫来收集大量的数据,进行分析和挖掘。

舆情监测可以通过网络爬虫来抓取新闻、社交媒体等信息,实时监测和分析舆情动态。

价格比较网站可以利用网络爬虫来抓取各个电商网站的商品信息,并进行价格比较和推荐。

信息聚合网站可以通过网络爬虫来抓取各个新闻网站的新闻,并将其汇总在一个平台上,方便用户阅读。

在设计我的网络爬虫毕业项目时,我将考虑以下几个方面。

首先,我需要确定我的项目的目标和需求。

是要抓取特定网站的信息,还是要抓取特定领域的信息?其次,我需要选择合适的编程语言和开发框架。

Python是目前最常用的网络爬虫编程语言,而Scrapy是一个强大的网络爬虫框架,可以帮助我快速开发和部署我的项目。

然后,我需要设计合适的数据存储方案。

可以选择使用关系型数据库,如MySQL或SQLite,也可以选择使用非关系型数据库,如MongoDB。

最后,我需要考虑如何处理反爬虫机制。

很多网站为了防止被爬虫抓取,会采取一些反爬虫措施,如验证码、IP封锁等。

我需要设计相应的策略来应对这些反爬虫机制。

在实施我的网络爬虫毕业项目时,我将遵循一定的原则和规范。

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

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

网络爬虫的设计与实现毕业设计一、引言网络爬虫是一种自动化的网页抓取程序,能够从互联网上抓取和收集数据。

毕业设计项目将设计和实现一个网络爬虫,用于从特定的网站或网页收集数据。

本文将介绍该毕业设计项目的背景、目的、意义、相关技术和方法,以及预期成果。

二、项目背景和目的随着互联网的快速发展,人们对于从网上获取信息的需求越来越大。

网络爬虫作为一种自动化网页抓取程序,能够快速、有效地从互联网上收集数据。

毕业设计项目旨在设计和实现一个高效、稳定、可扩展的网络爬虫,以帮助用户从特定的网站或网页收集所需的数据。

三、项目意义网络爬虫的设计与实现毕业设计项目具有以下意义:1、满足用户对于快速、有效地从互联网上获取数据的需求;2、提高自动化网页抓取程序的设计和实现能力;3、加深对于相关技术和方法的理解和应用;4、为进一步研究和发展网络爬虫技术打下基础。

四、相关技术和方法网络爬虫的设计与实现涉及多种相关技术和方法,包括:1、网络编程技术:用于实现网络爬虫的通信和数据传输;2、网页抓取技术:用于解析和提取网页中的数据;3、数据存储技术:用于存储和检索收集到的数据;4、算法优化技术:用于提高爬虫的性能和效率;5、软件测试技术:用于检测和验证爬虫的正确性和稳定性。

五、预期成果网络爬虫的设计与实现毕业设计项目的预期成果包括:1、设计和实现一个高效、稳定、可扩展的网络爬虫;2、提高相关技术和方法的应用能力;3、加深对于网络爬虫技术的理解和掌握;4、为进一步研究和发展网络爬虫技术打下基础。

基于Python的网络爬虫设计与实现随着互联网的快速发展,网络爬虫作为一种获取网络资源的重要工具,越来越受到人们的。

Python作为一种易学易用的编程语言,成为了网络爬虫开发的首选。

本文将介绍基于Python的网络爬虫设计与实现。

一、网络爬虫概述网络爬虫是一种自动浏览万维网并提取网页信息的程序。

它们从一个或多个起始网页开始,通过跟踪链接访问其他网页,并收集相关信息。

网络爬虫 毕业论文

网络爬虫 毕业论文

网络爬虫毕业论文网络爬虫:数据挖掘的利器随着互联网的迅猛发展,我们进入了一个信息爆炸的时代。

海量的数据涌入我们的生活,如何从这些数据中获取有用的信息成为了一个重要的问题。

在这个背景下,网络爬虫应运而生,成为了数据挖掘的利器。

一、网络爬虫的定义和原理网络爬虫,顾名思义,就是像蜘蛛一样在网络上爬行,自动地从网页中提取信息。

它的工作原理可以简单地概括为以下几个步骤:首先,爬虫会从一个起始网页开始,通过解析网页中的链接找到其他网页;然后,它会递归地访问这些链接,进一步抓取网页;最后,爬虫会将抓取到的网页进行处理,提取出所需的信息。

二、网络爬虫的应用领域网络爬虫在各个领域都有广泛的应用。

在搜索引擎领域,爬虫是搜索引擎的核心组成部分,它通过抓取网页并建立索引,为用户提供准确、全面的搜索结果。

在电子商务领域,爬虫可以用来抓取商品信息,帮助企业了解市场动态和竞争对手的情况。

在金融领域,爬虫可以用来抓取股票、基金等金融数据,为投资者提供决策依据。

此外,爬虫还可以应用于舆情监测、航空订票、房产信息等领域。

三、网络爬虫的技术挑战尽管网络爬虫在各个领域都有广泛的应用,但是它也面临着一些技术挑战。

首先,网络爬虫需要解决网页的反爬虫机制,如验证码、IP封锁等,以确保能够正常抓取数据。

其次,网络爬虫还需要处理大规模数据的存储和处理问题,以确保抓取的数据能够高效地被利用。

此外,网络爬虫还需要解决网页结构的变化和网页内容的多样性等问题,以确保能够准确地提取所需信息。

四、网络爬虫的伦理问题随着网络爬虫的应用越来越广泛,一些伦理问题也逐渐浮现出来。

首先,网络爬虫可能会侵犯个人隐私,特别是在抓取个人信息时需要注意保护用户的隐私权。

其次,网络爬虫可能会对网站的正常运行造成影响,如过于频繁地访问网站可能会导致网站崩溃。

因此,在使用网络爬虫时,需要遵守相关的法律法规和伦理规范,确保合法、合理地使用爬虫工具。

五、网络爬虫的未来发展随着人工智能和大数据技术的不断发展,网络爬虫在未来还将有更广阔的应用前景。

爬虫毕业设计

爬虫毕业设计

爬虫毕业设计爬虫毕业设计:探索数据世界的奇妙之旅随着互联网的快速发展,数据已经成为了现代社会中一种无处不在的资源。

然而,如何从海量的数据中获取有用的信息,成为了一个亟待解决的问题。

在这个背景下,爬虫技术应运而生,成为了一种重要的数据获取工具。

在我的毕业设计中,我选择了爬虫技术作为研究对象,旨在探索数据世界的奇妙之旅。

首先,我将介绍爬虫技术的基本原理和应用。

爬虫,顾名思义,就是模拟人类在互联网上的行为,自动化地访问网页并提取所需的信息。

通过分析网页的结构和内容,爬虫可以从中提取出我们感兴趣的数据,并将其保存到本地或者进行进一步的处理。

爬虫技术在各个领域都有广泛的应用,比如搜索引擎的建设、电子商务的数据分析、新闻媒体的舆情监测等等。

通过毕业设计,我希望能够深入了解爬虫技术的原理和应用,并掌握其实际操作的能力。

接下来,我将介绍我在毕业设计中所选择的具体任务。

我计划使用爬虫技术从某个特定的网站上获取相关的数据,并进行进一步的分析和处理。

这个网站是一个在线的电影数据库,其中包含了大量的电影信息,比如电影的名称、导演、演员、评分等等。

我将通过编写爬虫程序,自动化地访问这个网站的各个页面,并将所需的电影信息提取出来。

然后,我将对这些数据进行整理和分析,探索其中的规律和趋势。

通过这个任务,我希望能够提高自己的编程能力,并且对数据分析有更深入的了解。

在进行毕业设计的过程中,我预计会面临一些挑战和困难。

首先,爬虫技术本身就是一个复杂的领域,需要掌握一定的编程知识和网络原理。

我需要学习Python编程语言以及相关的网络库,比如BeautifulSoup和Scrapy,来实现爬虫程序的编写。

其次,网站的结构和内容可能会发生变化,导致原有的爬虫程序无法正常工作。

我需要及时调整和优化爬虫程序,以适应网站的变化。

此外,由于涉及到大量的数据处理和分析,我还需要学习一些数据科学的基本方法和工具,比如数据清洗、数据可视化等等。

尽管面临着一些挑战,但我相信通过不断学习和实践,我能够顺利完成这个毕业设计。

毕业论文-基于Python的网络爬虫设计

毕业论文-基于Python的网络爬虫设计

毕业论文-基于Python的网络爬虫设计基于Python的网络爬虫设计一、引言网络爬虫是一种自动化的网页访问工具,可以按照预设的规则和目标从互联网上抓取数据。

Python作为一种功能强大的编程语言,因其易学易用和丰富的库支持,成为了网络爬虫设计的理想选择。

本文将探讨基于Python的网络爬虫设计,包括其基本原理、设计思路和实现方法。

二、网络爬虫的基本原理网络爬虫的基本原理是模拟浏览器对网页的访问行为。

它通过发送HTTP请求获取网页内容,然后解析这些内容并提取所需的数据。

爬虫在访问网页时需要遵守一定的规则,如避免重复访问、遵守Robots协议等。

三、基于Python的网络爬虫设计在Python中,有许多库可以用于网络爬虫的设计,如BeautifulSoup、Scrapy和Requests等。

以下是一个简单的基于Python的爬虫设计示例:1.安装所需的库:使用pip安装Requests和BeautifulSoup库。

2.发送HTTP请求:使用Requests库发送HTTP请求,获取网页内容。

3.解析网页内容:使用BeautifulSoup库解析网页内容,提取所需的数据。

4.数据存储:将提取到的数据存储到数据库或文件中,以供后续分析和利用。

四、案例分析:爬取某电商网站商品信息本案例将演示如何爬取某电商网站商品信息。

首先,我们需要确定爬取的目标网站和所需的数据信息。

然后,使用Requests 库发送HTTP请求,获取网页内容。

接着,使用BeautifulSoup 库解析网页内容,提取商品信息。

最后,将商品信息存储到数据库或文件中。

五、总结与展望基于Python的网络爬虫设计可以为我们的数据获取和分析提供便利。

然而,在设计和实现爬虫时需要注意遵守规则和避免滥用,尊重网站所有者的权益。

未来,随着互联网技术的发展和数据价值的提升,网络爬虫技术将会有更多的应用场景和发展空间。

我们可以期待更多的技术和工具的出现,以帮助我们更高效地进行网络爬虫的设计和实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业设计(论文)说明书题目:网络爬虫设计与实现学院软件学院专业软件工程毕业设计(论文)任务书题目:网络爬虫设计与实现独创声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。

尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。

对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。

本声明的法律后果由本人承担。

作者签名:二〇一〇年九月二十日毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。

本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。

(保密论文在解密后遵守此规定)作者签名:二〇一〇年九月二十日一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。

)互联网是一个庞大的非结构化的数据库,将数据有效的检索并组织呈现出来有着巨大的应用前景。

搜索引擎作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。

但是,这些通用性搜索引擎也存在着一定的局限性。

不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。

所以需要一个能基于主题搜索的满足特定需求的网络爬虫。

为了解决上述问题,参照成功的网络爬虫模式,对网络爬虫进行研究,从而能够为网络爬虫实现更深入的主题相关性,提供满足特定搜索需求的网络爬虫。

二、参考文献[1]Winter.中文搜索引擎技术解密:网络蜘蛛 [M].北京:人民邮电出版社,2004年.[2]Sergey等.The Anatomy of a Large-Scale Hypertextual Web Search Engine [M].北京:清华大学出版社,1998年.[3]Wisenut.WiseNut Search Engine white paper [M].北京:中国电力出版社,2001年.[4]Gary R.Wright W.Richard Stevens.TCP-IP协议详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议 [M].北京:机械工业出版社,2002 年1月.[5]罗刚王振东.自己动手写网络爬虫[M].北京:清华大学出版社,2010年10月.[6]李晓明,闫宏飞,王继民.搜索引擎:原理、技术与系统——华夏英才基金学术文库[M].北京:科学出版社,2005年04月.三、设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。

)本课题的主要目的是设计面向主题的网络爬虫程序,同时需要满足的是具有一定的性能,要考虑到网络爬虫的各种需求。

网络爬虫应用宽度搜索技术。

对url进行分析,去重。

网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。

网络爬虫要实现对特定主题的爬取。

网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来:新闻、电子图书、行业信息等。

对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。

研究网络爬虫的原理并实现爬虫的相关功能。

最终实现的网络爬虫应该能根据设定的主题,从设定的url进行一定深度的搜索,并最终得到需要的数据。

指导教师(签字)年月日审题小组组长(签字)年月日天津大学本科生毕业设计(论文)开题报告摘要本课题的主要目的是设计面向主题的网络爬虫程序,同时需要满足的是具有一定的性能,考虑到网络爬虫的各种需求。

网络爬虫应用宽度搜索技术。

对url进行分析,去重。

网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。

对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。

为了适应不同需求,使网络爬虫可以根据预先设定的主题实现对特定主题的爬取。

研究网络爬虫的原理并实现爬虫的相关功能。

关键词:网络爬虫;面向主题;多线程ABSTRACTThe main purpose of this project is to design subject-oriented web crawler process which is also required to meet certain performance, taking into account the diverse needs of web crawlers.Web Crawler uses the technology. of Breadth-first search.Web crawler uses multi-threaded technology, so that spiders crawl can have more powerful capabilities.Set connection time and read time of the web connection of the Web crawler , to avoid unlimited waiting.In order to meet different needs, so that crawlers can achieve pre-set theme crawling a specific topic.Research the principle web crawler and and realize the related functions.Key words:Web crawler; subject-oriented; multi-threading目录第一章概述 (1)1.1 课题背景 (1)1.2 网络爬虫的历史和分类 (1)1.2.1 网络爬虫的历史 (1)1.2.2 网络爬虫的分类 (2)1.3 网络爬虫的发展趋势 (3)第二章相关技术背景 (5)2.1 网络爬虫的定义 (5)2.2 网页搜索策略介绍 (5)2.2.1 广度优先搜索策略 (5)2.2.2 最佳优先搜索策略 (6)2.3 判断相关度算法 (6)第三章网络爬虫模型的分析和概要设计 (8)3.1 网络爬虫的模型分析 (8)3.2 网络爬虫的搜索策略 (8)3.3 网络爬虫的主题相关度判断 (9)3.4 网络爬虫的概要设计 (11)第四章网络爬虫模型的设计和实现 (14)4.1 网络爬虫总体设计 (14)4.2 网络爬虫具体设计 (14)4.2.1 爬取网页 (14)4.2.2 分析网页 (15)4.2.3 判断相关度 (16)4.2.4 保存网页信息 (17)4.2.5 数据库设计和存储 (17)4.2.6 多线程的实现 (17)4.2.7 附加功能 (18)4.2.8 整体流程 (18)第五章测试 (20)第六章总结和展望 (24)第一章概述1.1 课题背景网络爬虫,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。

另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。

网络检索功能起于互联网内容爆炸性发展所带来的对内容检索的需求。

搜索引擎不断的发展,人们的需求也在不断的提高,网络信息搜索已经成为人们每天都要进行的内容.如何使搜索引擎能时刻满足人们的需求。

最初的检索功能通过索引站的方式实现,而有了网络机器人,即网络爬虫这个技术之后,搜索引擎的时代便开始一发不可收拾了。

1.2 网络爬虫的历史和分类1.2.1 网络爬虫的历史在互联网发展初期,网站相对较少,信息查找比较容易。

然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满足大众信息检索需求的专业搜索网站便应运而生了。

现代意义上的搜索引擎的祖先,是1990年由蒙特利尔大学学生Alan Emtage 发明的Archie。

虽然当时World Wide Web还未出现,但网络中文件传输还是相当频繁的,而且由于大量的文件散布在各个分散的FTP主机中,查询起来非常不便,因此Alan Archie工作原理与现在的搜索引擎已经很接近,它依靠脚本程序自动搜索网上的文件,然后对有关信息进行索引,供使用者以一定的表达式查询。

由于 Archie深受用户欢迎,受其启发,美国内华达System Computing Services 大学于1993年开发了另一个与之非常相似的搜索工具,不过此时的搜索工具除了索引文件外,已能检索网页。

当时,“机器人”一词在编程者中十分流行。

电脑“机器人”(Computer Robot)是指某个能以人类无法达到的速度不间断地执行某项任务的软件程序。

由于专门用于检索信息的“机器人”程序象蜘蛛一样在网络间爬来爬去,因此,搜索引擎的“机器人”程序就被称为“蜘蛛”程序。

世界上第一个用于监测互联网发展规模的“机器人”程序是Matthew Gray开发的World wide Web Wanderer。

刚开始它只用来统计互联网上的服务器数量,后来则发展为能够检索网站域名。

与Wanderer相对应,Martin Koster于1993年10月创建了ALIWEB,它是Archie的HTTP版本。

ALIWEB不使用“机器人”程序,而是靠网站主动提交信息来建立自己的链接索引,类似于现在我们熟知的Yahoo。

随着互联网的迅速发展,使得检索所有新出现的网页变得越来越困难,因此,在Matthew Gray的Wanderer基础上,一些编程者将传统的“蜘蛛”程序工作原理作了些改进。

其设想是,既然所有网页都可能有连向其他网站的链接,那么从跟踪一个网站的链接开始,就有可能检索整个互联网。

到1993年底,一些基于此原理的搜索引擎开始纷纷涌现,其中以JumpStation、The World Wide Web Worm (Goto的前身,也就是今天Overture),和Repository-Based Software Engineering (RBSE) spider最负盛名。

然而JumpStation和WWW Worm只是以搜索工具在数据库中找到匹配信息的先后次序排列搜索结果,因此毫无信息关联度可言。

而RBSE是第一个在搜索结果排列中引入关键字串匹配程度概念的引擎最早现代意义上的搜索引擎出现于1994年7月。

当时Michael Mauldin将John Leavitt的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的Lycos。

同年4月,斯坦福(Stanford)大学的两名博士生,David Filo和美籍华人杨致远(Gerry Yang)共同创办了超级目录索引Yahoo,并成功地使搜索引擎的概念深入人心。

相关文档
最新文档