分布式网络爬虫研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
淮北师范大学
2013届学士学位论文
分布式网络爬虫研究
学院计算机科学与技术学院
专业网络工程
研究方向分布式网络爬虫研究
学生姓名李邦柱
学号20091204026
指导教师姓名
指导教师职称
2013年 5 月16 日
分布式网络爬虫研究
计算机科学与技术学院2013届毕业生李邦柱
指导教师:xx
摘要:网络爬虫(Web Crawler),通常简称爬虫,是搜索引擎的重要组成部分。随着信息化的快速推进,作为搜索引擎不可或缺的一部分——网络爬虫,一直是个热门的研究话题,它的好坏,直接决定了搜索引擎的未来。目前来看,网络爬虫的研究方向主要包括对网页搜索策略的研究和网页分析算法的研究两大方向,其中,网页搜索中的主题网络爬虫是个研究趋势,它根据一定的网页分析算法,过滤与主题无关的链接,保留符合条件的链接并放入待抓取队列。
本论文简要介绍了一种构建简单分布式网络爬虫模型的方法,并且提供了行之有效的理论分析和算法。主要讨论了单个网络爬虫抓取网页的原理,以后扩展后的多爬虫分布式的模型方法。在分布式的网络爬虫中主要介绍了其体系结构以及分布式网络爬虫模型中运用的算法与数据结构分析。本文并没有涉及复杂的算法研究,只是通过学习和使用现有平台和技术,研究基于Linux C++/C平台下的一个能够抓取同一域名下的、具有对URL有某个关键字限制下的部分网页的微型的网络爬虫,最后实现离线浏览功能。从性质上来看,它更趋向与主题网络爬虫。
关键词:网络爬虫;分布式网络爬虫;URL;哈希表;多线程;Linux
The Study of Distributed web crawler
School of Computer Science & Technology 2013 Graduates
Of Huaibei Normal University
Li Bang-Zhu
Anhui Huaibei 235000, China
Supervised by Wang Shuai, Instructor
Abstract:Web crawler, usually referred to crawler, is an important component of search engine. With the rapid development of information technology, as an indispensable part of search engine -- web crawler, has been a hot research topic. wheather it is good or bad, it directly determines the future of search engines. At present, the research of web crawler mainly includes two aspects: the study of web search strategy and web analysis algorithms. Among them, theme web crawler in web research is a research trend, which is based on a certain web page analysis algorithm and filters irrelevant links, retain qualified links and place into the capture queue.
This paper briefly introduces a method to build a simple model of distributed web crawler and provides the effective theoretical analysis and the algorithm. It mainly discusses the principle of a single web crawler webpage and the distributed method of expanded multiple crawlers. In the distributed web crawler, it mainly introduces system structure, the analysis of algorithms and data structures used in distributed web crawler model. There is no complex algorithm research in this thesis. Through learning and using the existing platform and technology, the research and implementation of a Linux C/C++ platform can capture micro crawler which is under the same domain name and has a key word restrictions of URL in most web pages, and finally realize offline browsing. From the point of nature, it tends to theme web crawler.
Keywords: Web Crawler,Distributed web crawler, URL,Linux Socket ,multi-thread, Linux
目录
绪论 (5)
一、网络爬虫的功能以及原理的概述 (6)
1.1 网页的搜索策略和网页的分析 (7)
1.1.1 网页搜索策略的选择 (7)
1.2 URL介绍 (7)
1.3 URL的标准化 (8)
1.4 网页抓取 (9)
1.5 网页分析 (10)
1.6 Linux Socket 通信 (13)
1.6.1 Linux Socket简介 (13)
1.6.2 TCP/IP (14)
1.6.3 客户端Socket函数介绍 (15)
1.7 Linux平台下单个爬虫程序运行及结果分析 (18)
二、分布式网络爬虫模型结构的概述 (22)
三、分布式网络爬虫中使用的主要算法与数据的分析 (24)
3.1 爬虫进程启动后的工作流程 (25)
3.2 判重服务进程启动后的主要工作流程 (26)
3.2.1 判重服务进程正常启动的主要过程 (26)
3.2.2 判重服务进程选举启动的主要过程 (26)
3.2.3 判重服务进程对某个爬虫进程异常退出后的处理过程 (27)
四、结束语 (29)
五、致谢 (30)
参考文献 (31)