更新时间:06-11 上传会员:紫色烟火
分类:计算机信息 论文字数:9974 需要金币:1000个
摘要:随着万维网的普及,在互联网诞生的开始,我们这一代人被称为互联网原住民,万维网承载了大量的信息,那么作为一个非计算机专业人士,如何享受互联网带来的便利,高效快捷的获取信息。搜索引擎随之而诞生,但随之而来的一些问题又需要新的技术解决。爬虫随之诞生,单机爬虫满足不了需求,分布式爬虫随之诞生,基于Scrapy框架+MongoDB+Scrapy_Redis+Docker设计实现分布式爬虫。Scrapy是基于Python开发的第三方库,将重复使用的代码模块化。MongoDB是一个基于C++开发的非关系型数据库,Redis是Scrapy的分布式扩展模块,可以高效实现Scrapy的分布式搭建,Docker是一种容器技术,可以将环境和应用独立打包,使用Docker,可以让每个应用彼此相互隔离,在同一台机器上同时运行多个应用,不过它们彼此之间共享同一个操作系统。Docker的优势在于,它可以在更细的粒度上进行资源管理,也比虚拟化技术更加节约资源。
关键词:万维网;爬虫;分布式;框架
目录
摘要
Abstract
1 引言-1
1.1 研究的背景及意义-1
1.2 国内外研究现状-1
1.3 主要研究内容-2
1.4 系统开发目标-2
2 相关技术说明-3
2.1 爬虫技术介绍-3
2.1.1 爬虫基本结构-3
2.1.2 爬虫分类-4
2.1.3 爬行策略-4
2.1.4 分布式爬虫结构-5
2.2 Scrapy框架-6
2.2.1 命令行工具-6
2.2.2 Scrapy中的选择器-7
2.2.3 Scrapy中的Spider-7
2.2.4 Scrapy中的ItemPipline-7
2.2.5 Scrapy分布式原理-7
2.3 数据库相关-8
2.3.1 Redis-8
2.3.2 MongoDB-8
3 分布式爬虫需求分析-9
3.1 正则表达式规则-9
3.2 Cookie及应用-9
4 分布式爬虫系统的实现-10
4.1 实例1:Scrapy+Cookie池抓取新浪微博-10
4.1.1 网页分析-10
4.1.2 代码实现-11
4.2 实例2 Scrapy分布式抓取抓取知乎用户信息-16
4.2.1 爬取规则分析-16
4.2.2 爬取实现-18
4.2.3 分布式实现-22
5 系统测试-23
5.1 测试平台信息-23
5.2 运行状态及测试-23
结 论-25
参 考 文 献-26
致 谢-27