更新时间:05-22 上传会员:课代表
分类:计算机信息 论文字数:13905 需要金币:1000个
摘要:飞速发展起来的网络,成就了万维网这个拥有着大量信息资源的宝藏。越来越多的人参与到了这个“宝藏”的挖掘中,如何挖掘海量数据中的价值也是当下主流的研究课题。正是这种对数据利用的强烈需求催生了网页数据采集,也就是网络爬虫技术。
网络爬虫是搜索引擎的一部分,其主要的功能就是将网络上的数据下载到本地形成一个互联网内容的本地镜像,应用十分广泛的。大数据时代,海量的数据抓取需求已经是单机集中式爬虫无法满足的。集中式爬虫的性能受限于 CPU 性能,网络 IO 和磁盘 IO 的瓶颈,已逐步被分布式网络爬虫所取代。
本论文主要研究了 Python 实现的 Scrapy 框架的主要结构和关键技术,然后研究了网页抓取的主要方法和技术细节,并介绍了非关系型内存数据在分布式网络爬虫中的应用。
本课题完成了一种基于 Scrapy 的的分布式网络爬虫的设计、实现、多机部署和测试。在前面所诉的技术研究基础上,本课题研究并设计了基于 Scrapy 的分布式网络爬虫,详细的分析介绍了几个主要模块的功能和实现,以及在两个节点上部署并测试。
关键词:网络爬虫;分布式网络爬虫;Scrapy;网页数据处理;
目录
摘要
Abstract
第一章 绪论 .1
1.1课题研究的背景 .1
1.2课题研究的意义 .2
1.3课题研究的内容 .2
第二章 网络爬虫及相关技术.3
2.1网络爬虫的概念 .3
2.1.1单机网络爬虫3
2.1.2分布式网络爬虫 .4
2.2相关技术分析 .5
2.2.1Scrapy 框架.5
2.2.2Redis 数据库.6
2.2.3Scrapy-Redis 框架 7
2.2.3 ORM 7
2.3本章小结 .8
第三章 分布式网络爬虫系统分析与设计 .9
3.1网络爬虫任务节点需求分析 9
3.2分布式控制节点需求分析 10
3.3分布式网络爬虫的设计 11
3.3.1分布式网络爬虫的系统整体结构设计 11
3.3.2分布式任务分配流程设计 .12
3.3.3数据库逻辑结构设计 .13
3.4本章小结 .14
第四章 分布式网络爬虫的实现与测试 .15
4.1分布式网络爬虫的实现 15
4.1.1Scrapy 项目开发环境准备 15
4.1.2Scrapy 项目结构初始化 15
4.1.3分布式爬虫任务节点实现 .17
4.1.4页面抓取实现18
4.1.5关键数据持久化实现 .22
4.2系统测试 .23
4.2.1测试环境及配置 .24
4.2.2测试流程 24
4.2.3测试结果 24
4.3 本章小结 .26
结束语 .27
致谢 .28
参考文献 .29