网站大量收购独家精品文档,联系QQ:2885784924

【《基于Python的分布式爬虫系统设计7500字(论文)》】 .docx

【《基于Python的分布式爬虫系统设计7500字(论文)》】 .docx

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1

基于Python的分布式爬虫系统设计

摘要

在这个互联网飞速发展的时代下,随着互联网网络规模和用户数量的爆炸性增长,相关的服务和信息量也随之快速增长,单纯依赖计算机单机处理能力的集中式网络爬虫信息采集的速度已经无法满足快速获取大量数据的需求。分布式网络爬虫由可并行获取资源的多个节点爬虫组成,具有良好的可扩展性,它们在数据检索方面的优秀表现受到人们的欢迎。因此,本文将根据平台的需求,设计出一个个性化的高效的分布式网络爬虫。

本文依托针对上述课题展开研究,设计并实现了一个分布式网络爬虫。本文在对当前流行的分布式网络爬虫的相关技术进行了一定研究的基础上,根据需求分析设计理念,结合代码介绍爬虫的设计细节,通过对比实验体现分布式爬虫的优势,并作出总结,提出展望。

本文所研究设计的分布式网络爬虫系统,最大限度地利用了爬虫和网络带宽,不仅提高了计算机信息采集的速度,降低了系统损耗,而且加强了系统的可扩展性,能够适应更多类型的数据。

关键词:Python,分布式爬虫,scrapy,Redis,MongoDB

目录

第1章绪论 2

1.1研究背景及意义 2

1.1.1系统背景 2

1.1.2系统开发意义 2

1.2研究方向与内容 3

第2章相关工具和理论介绍 4

2.1Python概述 4

2.2Hadoop概述 4

2.3Scrapy框架简介 4

2.4Redis数据库 6

2.5MonggoDB数据库 6

第3章系统需求分析 7

3.1功能需求 7

3.2用例图 8

3.3架构示意图 8

3.4功能架构划分 9

3.5程序流程图 10

第4章数据库设计 12

4.1数据库E-R图 12

2

4.2数据库表及其结构 12

第5章系统详细设计与实现 13

5.1爬虫的设计与实现 13

5.1.1爬取策略的设计的设计与实现 13

5.1.2爬虫的具体实现 14

5.1.3去重与增量爬取 15

5.2爬虫防屏蔽组件的实现 16

5.3数据处理 18

第6章系统运行 21

第7章系统测试 2

7.1测试简介 22

7.2测试结果 23

参考文献 25

第1章绪论

1.1研究背景及意义

1.1.1系统背景

近年来,互联网正处于稳重求快的阶段,互联网正在全面渗透于我们的日常生活中,在很多方面改变和改善我们的生活和工作形态。当前互联网已经成为影响我国经济社会发展、改变人们生活形态的关键行业,膨胀的网民数量给搜索引擎的发展带来了极大的机遇。为了更好地解决这个问题,怎样从越来越大的数据资料源中以更快的速度、极高的效率、很高的安全性寻找到对网络使用者有价值的数据成为了搜索引擎的主要目标。

在海量数据的现状下,想要解决网络搜索问题,单纯地依赖计算机单机处理能力是几乎完成不了的,即使是提升计算机硬件方面的功能,也不可能赶上信息增长的速度。经过研究者的潜心钻研,他们提出了分布式信息检索技术。该技术一经发布,便得到了极大的关注,目前几乎所有的大型搜索系统都使用了分布式的体系构造,众所周知的Google和百度,它们的搜索引擎系统便是采用这一体系,利用分布式网络爬虫提高数据检索的效率。

分布式搜索系统采用分布式信息检索技术,以分布式网络爬虫为基础,联结互联网中的多个机器,协调解决大规模数据的处理、索引和检索问题。其中,分布式搜索引擎的核心功能是由分布式网络爬虫实现的。

1.1.2系统开发意义

3

随着大数据时代的到来,如何采集庞大的数据库也是目前难题之一,这个时候网络爬虫就变成了一个必不可少的东西,其中爬虫又分为单机爬虫和分布式爬虫。

分布式爬虫是在多台机器上运行爬虫程序,重点是联合采集数据。在多个服务器上能够协同采集的就是分布式的,分布式实现了多台主机使用一个共同的爬虫程序,可以在多台电脑上运行,这样的话可以提高爬虫效率。像是采集非常大量的数据,多线程爬虫是很难做到高效的,所以研究分布式爬虫是这个大数据时代所必须的。

无论是单机或者是多台主机,分布式爬虫都对计算机的性能有一定的要求,首先是处理器,其次是网络,分布式爬虫的效率会受这些的影响,如果硬件设施无法达到要求甚至不如单机爬虫。分布式爬虫本质上就是将程序的运行从一台机器扩展到多台机器,加快运行速率。

1.2研究方向与内容

本文结合实际平台需求,基于分布式搜索引擎的框架,设计实现分布式网络爬虫。研究内容主要包括以下四个

文档评论(0)

151****1810 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档