《网络爬虫需求》由会员分享,可在线阅读,更多相关《网络爬虫需求(19页珍藏版)》请在金锄头文库上搜索。
1、学校:中南大学学院:信息科学与技术学院专业班别:计算机软件专业NIIT081姓 名: 谭东方指导教师:完成日期:摘要随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息 成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVi sta,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的 入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:(1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎 所返回的结果包含大量用户不关心的网页。(2) 通用搜索引擎的目标是尽可能大的网络覆盖
2、率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。(3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频/视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。(4) 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查 询。为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一 个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫(general purpose web crawler)不同,聚焦爬虫并不追
3、求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为 面向主题的用户查询准备数据资源。关键字:网络爬虫程序,WEB爬虫,网页蜘蛛,网络机器人AbstractThis paper first introduces the key techniques and theories which are required in the realizationof the extensible Spider, on the basis of which we then usethe oriented-object methods to have analyzed and designed a We
4、b Spider with extensibility. Finally, the programming work has been realized on the JCreator platform with the Java language.The designing of the extensible Spider is made up of two major parts: the Client crawler and the Server monitor. The Client is responsible for the page-collection job, which r
5、eceives URL of the web pages to be crawled from the server and transmits those out of its crawling range. In order to reduce the response time, the page-collection has borrowed the multithreading technique to improve the system s performance. The URL transition has utilized the “Character Conversion
6、 function of the MD5 algorithm and the “Splitting Construetor” of the hashing function. The server monitor takes charge of the arrangement of the active spiders and the transition of the arriving URL: the system would allocate an unique ID for every crawler to realize unified management as well as m
7、aking a reasonable judgment for every URL from clients to determine which active spider this URL should be sent to. In the system, the running process, including the start and interruption, of the crawlers is comple tely cont rolled by the server, and the server can dynamicallysupervise the collecti
8、on status of each of the crawler.It has been proved by the experiment that this system has the characteristic of good extensibility. Also, it is capable of adding the active spiders during the running process as well as remembering the collection interruption point .Meanwhile, weve found that the sp
9、eed of the downloading pages as well as the number of the active crawlers is the key factor that would have an effect on the whole systems performance.Keywords: Extensibility; Web Spider; Multithreading; the URL Transition.第1章绪论:1.1课题背景随着国际互联网(internet )的迅速发展,网上的信息越来越多,全球目前的网页超过20亿,每天新增加730万网页。要在如此浩
10、瀚的信息海洋里寻找信息,就像“大海捞针”一样困难。搜索引擎正是为了解决这个问题而出现的技术。搜索引擎是通过互联网搜索信息的重要途径。它要用到信息检索、人工 智能、计算机网络、分布式处理、数据库、数据挖掘、数字图书馆、自然语言 处理等多领域的理论和技术,具有很高的综合性和很强的挑战性。本文研究的 内容是作为搜索引擎关键的一部分的网络爬虫,首先,简略介绍一下搜索引搜索引擎虽然所采用的技术和实现的方法各有不同,但是总体来说可以分 为两类,一种是基于目录的搜索引擎,另一种是基于全文检索的搜索引擎。 早期的搜索引擎很多都是基于目录的搜索引攀,由于人工干预较多,故在 覆盖的范围上要远远的小于基于信息采集器
11、的搜索引擎。一般来说,由于使用 了人(专家)来对网站进行归纳和分类,网站分类技术为网络信息导航带来了极 大的方便,广受人们的欢迎。但是它的缺陷除了成本较高之外,对网站的描述 也十分简略,其描述能力不能深入网站的内部细节,因此用户查询不到网站内 部的重要信息,造成了信息丢失1。例如:如果对一个进行电脑硬件销售站点 的目录分为是商业与经济 公司电脑硬件公司。对其描述为“显示器、电源、 硬盘内存等销售”。用户在以“显示器”、“硬盘”为关键字进行检索时,就 能检索到。但如果该站点中还包含有对于主板和显卡的介绍,用户在检索“主 板”、“显卡”时,就无法检索到了。同时,对于基于目录的搜索引擎技术而 言,其
12、覆盖范围相对与基于全文检索的搜索引擎而言十分有限。 目前,在国内外各主要商业搜索引擎在技术上主要使用了全文检索技术, 下面对基于使用全文检索技术的搜索引擎进行讨论。 基于全文检索技术的搜索引擎主要由三部分组成,如图 1-1 所示,信息采 集器(网络爬虫),索引器、搜索接口。图 1-1 搜索引擎的基本构成信息采集器:主要功能就是搜集互联网上的信息资源(主要是网页和文字 信息资源)。运行信息采集器时,只要提供极少量的起始网页,信息采集器就 能够按一定的规则沿着网页上的超级链接在网络上漫游,收集资源信息,直至 遍历整个网站。它的性能在很大程度上影响了搜索引擎站点的规模。这部分是 本论文要讨论的重点。
13、索引器:由信息采集器从网上取来的信息杂乱无章,如果把它们直接用于 查询,效率将极为低微。索引器的主要功能就是分析收集的信息,建立索引库 以供查询。它主要用到的技术有分词、索引词选取、停用词过滤、索引归并、 索引压缩、索引更新、倒排文件缓存。查询接口:它是用户与搜索引擎的接口。它通常是一个Web应用程序,主要负责接收、解释用户的请求、查询索引库以及返回排序后的搜索结果。它的 用户界面友好与否是用户能否最大限度地使用搜索引擎功能的关键。 信息采集模块主动派出信息采集器进行自动搜索,信息采集器自动地在网上漫游,从一个URL或一组URL开始,访问该URL,记录该URL所指文件中所 有新的URL。然后再
14、以这些新URL的为起点,继续进行本地索引,直到再没有 满足条件的新 URL 为止。对于一些新出现的网站或在自动搜索中有所遗漏的站 点,用户也可以自行向搜索引擎提交网站地址,使得站点内容能被及时得以搜 索。得到网页内容后,信息预处理模块过滤文件系统信息,为文件系统的表达 提供各种满意的索引输出,获取最优的索引记录,使用户能很容易地检索到所 需信息。信息预处理模块要完成以下一些功能:格式过滤、词语切分、词性标注和短语识别等。最后这些被处理完的信息被送入一个数据库中,使用者在执行查询时,实际上是从这一数据库中寻找匹配网页、或资料的过程。全文检索己是一个比较成熟的技术,它能够解决对大量网页细节的检索问
15、题。从理论上说,只要网页上出现了某个关键词(如果是中文,这个关键词必须是一个词或者是词的组合),就能够使用全文检索用关键词匹配把该网页查 出来。网络爬虫,又称为Robots, Spiders以及Wanderers,几乎与网络同时出现。 第一个网络爬虫是Matthew Gray的Wanderer,出现于1993的春天。在头两届国 际万维网会议上出现过数篇关于网络爬虫的论文,如文献 24。但是那时候互 联网上的信息规模比现在要小得多,那些文章中并没有阐述如何处理现在所面 临的海量网络信息的技术。每个搜索引擎的后台,都有相应的网络爬虫在工作 着。但是出于互相竞争的原因,这些网络爬虫的设计并没有公开,
16、除了以下 3个: Google Crawler , InternetArchive Crawler 以及 Mercator 5。搜索引擎Google中,采用了多台机器进行分布式爬行6。它的网络爬虫包括5个功能模块,分别运行在不同的进程中。一个URL Server,进程负责从一个文件里读取URL (Uniform Resource Locator ),并把它们分发给多个 Crawler进 程。每个Crawler进程运行在不同的机器上,采用单线程和异步I/O同时从近300个网站上获取数据。所有的Crawler将下载来的数据传输到同一个St ore Server进程,它将这些页面压缩并存放在磁盘上。Indexer进程将这些页面从磁 盘上读出,它将、URL从HTML页面中抽取出来,并将它们存放在另一个磁盘文 件中。一个URL Re