致谢 | 第5-6页 |
摘要 | 第6-8页 |
ABSTRACT | 第8-9页 |
1 引言 | 第13-19页 |
1.1 项目开发背景 | 第13-14页 |
1.2 系统要解决的问题 | 第14-15页 |
1.3 国内外发展现状 | 第15-16页 |
1.4 本人工作总结 | 第16-17页 |
1.5 论文组织结构 | 第17-19页 |
2 相关技术 | 第19-31页 |
2.1 网络爬虫概述 | 第19页 |
2.2 数据采集 | 第19-21页 |
2.2.1 网页信息定位 | 第20页 |
2.2.2 爬虫代理 | 第20-21页 |
2.2.3 动态网页抓取 | 第21页 |
2.3 Scrapy框架 | 第21-23页 |
2.4 Scrapinghub部署平台 | 第23页 |
2.5 JSON Schema | 第23-24页 |
2.6 消息队列 | 第24-27页 |
2.6.1 AMQP协议 | 第24-25页 |
2.6.2 Celery框架 | 第25-27页 |
2.7 Django框架 | 第27-28页 |
2.8 Redis | 第28页 |
2.9 REST架构 | 第28-29页 |
2.9.1 Django REST Framework | 第29页 |
2.10 本章小结 | 第29-31页 |
3 系统需求分析 | 第31-41页 |
3.1 系统概述 | 第31页 |
3.2 功能性需求分析 | 第31-38页 |
3.2.1 爬虫部署平台需求功能分析 | 第32-35页 |
3.2.2 数据应用后端需求功能分析 | 第35-38页 |
3.3 非功能性需求 | 第38-39页 |
3.4 本章小结 | 第39-41页 |
4 系统概要设计 | 第41-51页 |
4.1 系统总体框架设计 | 第41页 |
4.2 Scrapy框架改进设计 | 第41-46页 |
4.3 Scrapy Cloud爬虫服务端设计 | 第46-47页 |
4.3.1 部署爬虫项目 | 第47页 |
4.3.2 启动爬虫任务 | 第47页 |
4.3.3 运行数据监控 | 第47页 |
4.4 Sharingan服务端设计 | 第47-49页 |
4.5 本章小结 | 第49-51页 |
5 系统详细设计与实现 | 第51-75页 |
5.1 Fragment模块设计与实现 | 第51-54页 |
5.1.1 FragmentItem | 第51-53页 |
5.1.2 FragmentSpider | 第53-54页 |
5.2 Pipeline模块设计与实现 | 第54-60页 |
5.2.1 UrlAttachPipeline | 第55页 |
5.2.2 ProcessorPipeline | 第55-58页 |
5.2.3 AssemblePipeline | 第58-59页 |
5.2.4 FieldMappingPipeline | 第59页 |
5.2.5 JsonSchemaValidatePipeline | 第59-60页 |
5.3 Scrapy Cloud服务端设计与实现 | 第60-65页 |
5.3.1 上传爬虫项目 | 第61-62页 |
5.3.2 Schedule Service启动爬虫 | 第62-63页 |
5.3.3 job_stats运行信息监控 | 第63-65页 |
5.3.4 Item与Log文件下载 | 第65页 |
5.4 Sharingan服务端设计与实现 | 第65-72页 |
5.4.1 数据获取 | 第65-66页 |
5.4.2 数据导入 | 第66-68页 |
5.4.3 消息导出 | 第68-69页 |
5.4.4 房源合并 | 第69-71页 |
5.4.5 房源的查看编辑 | 第71-72页 |
5.5 本章小结 | 第72-75页 |
6 系统测试 | 第75-83页 |
6.1 单元测试 | 第75-80页 |
6.1.1 Fragment模块测试 | 第75页 |
6.1.2 Pipeline模块测试 | 第75-80页 |
6.2 集成测试 | 第80-81页 |
6.2.1 Schedule Service测试 | 第80页 |
6.2.2 数据导入和消息生成测试 | 第80-81页 |
6.3 系统测试 | 第81页 |
6.4 本章小结 | 第81-83页 |
7 结论与展望 | 第83-85页 |
7.1 工作总结 | 第83页 |
7.2 工作展望 | 第83-85页 |
参考文献 | 第85-87页 |
作者简历及攻读硕士学位期间取得的研究成果 | 第87-91页 |
学位论文数据集 | 第91页 |