摘要:本文提出了一种基于Apache Hadoop计算平台的分布式WEB网络爬虫,采用python语言开发的mrjob框架进行程序编写。爬虫功能包括模拟分布式系统进行网页下载以及url提取,它同时解决了DNS缓存、url重定向、连接超时问题,在下载网页之前会对网站robots.txt协议文件进行分析。它也可以伪装成主流浏览器代理进行爬取。程序中使用了BloomFilter算法对提取的url进行过滤并使用OPIC策略分析url。
关键词 Hadoop;mrjob;python;BloomFilter;OPIC;分布式网络爬虫
目录
摘要
Abstract
1绪论-1
1.1 课题研究的背景和意义-1
1.2 研究现状-1
1.3 研究主要内容-2
2系统基本原理与相关技术-4
2.1 Hadoop平台知识-4
2.1.1 MapReduce分布式数据处理技术-4
2.1.2 HDFS分布式文件系统-5
2.2 网络爬虫原理-6
2.3 分布式网络爬虫基本原理-7
2.4 爬取策略-7
2.5 url去重算法-8
2.6 MRJOB框架-8
3功能模块结构设计-10
3.1功能模块设计-10
3.1.1循环控制模块-10
3.1.2网络爬取和解析模块-10
3.1.3 url去重模块模块-10
3.1.4 url重要度分析模块-10
3.2系统结构设计-10
4程序设计与实现-12
4.1循环控制模块-12
4.1.1循环次数控制以及爬取阶段耗时-12
4.1.2爬虫循环-12
4.1.3 URL去重、生成待爬取文件-12
4.2网络爬取和解析模块-13
4.3 URL去重模块-15
4.4 URL重要度分析模块-17
5系统测试运行及调试-19
结论-24
致谢-25
参考文献-26