分布式在线图书爬虫系统的设计与实现
致谢 | 第5-6页 |
摘要 | 第6-7页 |
ABSTRACT | 第7页 |
1 引言 | 第11-19页 |
1.1 研究背景 | 第11-13页 |
1.1.1 爬虫介绍 | 第12-13页 |
1.1.2 爬虫和在线图书结合的意义 | 第13页 |
1.2 国内外研究现状 | 第13-16页 |
1.2.1 传统搜索引擎和垂直搜索引擎对比 | 第13-15页 |
1.2.2 开源爬虫发展研究 | 第15-16页 |
1.3 本论文研究内容和论文组织结构 | 第16-17页 |
1.4 本章小结 | 第17-19页 |
2 相关技术介绍 | 第19-31页 |
2.1 爬取策略 | 第19页 |
2.2 Scrapy框架 | 第19-21页 |
2.2.1 Scrapy的组成 | 第19页 |
2.2.2 Scrapy数据处理流程 | 第19-20页 |
2.2.3 Scrapy架构的扩展 | 第20-21页 |
2.3 Redis数据库 | 第21-24页 |
2.3.1 Redis数据类型 | 第22-23页 |
2.3.2 Redis持久化 | 第23-24页 |
2.4 MongoDB数据库 | 第24-27页 |
2.4.1 Mon-DB分片 | 第25-26页 |
2.4.2 GridFS | 第26-27页 |
2.5 Xpath | 第27页 |
2.6 Graphite | 第27-28页 |
2.7 Keepalived | 第28-29页 |
2.8 本章小结 | 第29-31页 |
3 分布式爬虫系统需求分析 | 第31-39页 |
3.1 爬虫的需求分析综述 | 第31-32页 |
3.1.1 产品特点分析 | 第31页 |
3.1.2 用户特征分析 | 第31-32页 |
3.2 系统功能性需求 | 第32-36页 |
3.2.1 调度器模块 | 第32-33页 |
3.2.2 URL爬取模块 | 第33-34页 |
3.2.3 流水线模块 | 第34-35页 |
3.2.4 监控模块 | 第35-36页 |
3.3 系统非功能性需求 | 第36页 |
3.4 爬虫系统的总体需求 | 第36-37页 |
3.5 本章小结 | 第37-39页 |
4 分布式爬虫概要设计 | 第39-47页 |
4.1 设计目标 | 第39页 |
4.2 系统总体功能结构 | 第39-40页 |
4.3 系统技术实现架构 | 第40-41页 |
4.4 数据存储及使用 | 第41-43页 |
4.5 系统接口设计 | 第43-45页 |
4.6 本章小结 | 第45-47页 |
5 分布式爬虫系统详细设计及实现 | 第47-67页 |
5.1 调度器模块设计和实现 | 第47-55页 |
5.1.1 URL去重子模块设计和实现 | 第47-49页 |
5.1.2 调度子模块设计和实现 | 第49-55页 |
5.2 URL爬取模块设计和实现 | 第55-58页 |
5.2.1 下载子模块设计和实现 | 第55-57页 |
5.2.2 解析子模块设计和实现 | 第57-58页 |
5.3 流水线模块设计和实现 | 第58-63页 |
5.3.1 文件流水线设计和实现 | 第59-61页 |
5.3.2 图片流水线设计和实现 | 第61-62页 |
5.3.3 详细信息流水线设计和实现 | 第62-63页 |
5.4 监控模块设计和实现 | 第63-65页 |
5.4.1 爬虫状态监控设计和实现 | 第64页 |
5.4.2 设备状态监控设计和实现 | 第64-65页 |
5.5 本章小结 | 第65-67页 |
6 系统测试 | 第67-71页 |
6.1 单元测试 | 第67页 |
6.2 系统功能测试 | 第67-68页 |
6.3 性能测试 | 第68-71页 |
7 结论 | 第71-73页 |
7.1 全文总结 | 第71页 |
7.2 不足和展望 | 第71-73页 |
参考文献 | 第73-75页 |
附录A | 第75-77页 |
附录B | 第77-79页 |
附录C | 第79-81页 |
附录D | 第81-83页 |
附录E | 第83-85页 |
附录F | 第85-87页 |
附录G | 第87-89页 |
附录H | 第89-91页 |
附录I | 第91-93页 |
作者简历 | 第93-97页 |
学位论文数据集 | 第97页 |