摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第11-17页 |
1.1 研究背景及意义 | 第11-12页 |
1.2 国内外研究现状 | 第12-15页 |
1.2.1 分布式爬虫任务调度研究现状 | 第12-14页 |
1.2.2 Ajax页面抓取研究现状 | 第14-15页 |
1.3 主要研究内容 | 第15-16页 |
1.4 章节安排 | 第16-17页 |
第二章 相关技术介绍 | 第17-30页 |
2.1 分布式爬虫关键技术 | 第17-23页 |
2.1.1 分布式爬虫系统架构 | 第18-20页 |
2.1.2 任务调度策略 | 第20-23页 |
2.1.3 更新调度策略 | 第23页 |
2.2 Ajax爬虫关键技术 | 第23-29页 |
2.2.1 Ajax动态加载技术 | 第23-24页 |
2.2.2 Ajax网站建模与抓取策略 | 第24-27页 |
2.2.3 动态脚本解析 | 第27-29页 |
2.2.3.1 JavaScript引擎 | 第27-28页 |
2.2.3.2 嵌入式浏览器 | 第28-29页 |
2.3 本章小结 | 第29-30页 |
第三章 基于主从式架构的任务调度策略 | 第30-45页 |
3.1 一致性哈希算法 | 第30-35页 |
3.1.1 一致性哈希的基本概念 | 第30-31页 |
3.1.2 分布式缓存Memcached的一致性哈希算法实现 | 第31-33页 |
3.1.3 一致性哈希算法存在的不足 | 第33-35页 |
3.2 基于一致性哈希的均分负载空间算法 | 第35-38页 |
3.3 基于均分负载空间算法的任务调度策略 | 第38-41页 |
3.3.1 任务划分策略 | 第38-39页 |
3.3.2 任务调度策略 | 第39-41页 |
3.4 分布式爬虫负载均衡性能实验 | 第41-44页 |
3.4.1 实验设置 | 第41页 |
3.4.2 实验结果与分析 | 第41-44页 |
3.5 本章小结 | 第44-45页 |
第四章 基于状态流图的Ajax页面抓取 | 第45-62页 |
4.1 状态流图模型 | 第45-51页 |
4.1.1 状态流图定义 | 第45-46页 |
4.1.2 基于状态流图的深度优先抓取算法 | 第46-49页 |
4.1.3 算法存在的主要不足 | 第49-51页 |
4.2 算法改进 | 第51-55页 |
4.2.1 基于网页主体内容的重复状态检测 | 第51-53页 |
4.2.1.1 网页主体内容提取 | 第51-53页 |
4.2.1.2 重复状态检测 | 第53页 |
4.2.2 有效元素的XPath特征训练 | 第53-55页 |
4.2.2.1 页面元素的XPath特征 | 第53-54页 |
4.2.2.2 基于主体内容变化的有效元素XPath特征训练 | 第54-55页 |
4.3 优化后的算法 | 第55-57页 |
4.4 实验比较 | 第57-61页 |
4.4.1 实验设置 | 第57页 |
4.4.2 实验结果与分析 | 第57-61页 |
4.5 本章小结 | 第61-62页 |
第五章 分布式爬虫系统设计与实现 | 第62-74页 |
5.1 总体设计 | 第62页 |
5.2 中心节点的设计方案 | 第62-66页 |
5.2.1 种子URLs管理模块 | 第63页 |
5.2.2 心跳监测模块 | 第63-64页 |
5.2.3 任务调度模块 | 第64-66页 |
5.3 爬行节点的设计方案 | 第66-70页 |
5.3.1 数据抓取模块 | 第66-69页 |
5.3.1.1 静态页面抓取模块 | 第67-68页 |
5.3.1.2 动态页面抓取模块 | 第68页 |
5.3.1.3 非爬取范围内的页面处理模块 | 第68-69页 |
5.3.2 任务调整模块 | 第69-70页 |
5.3.2.1 任务转移模块 | 第69-70页 |
5.3.2.2 任务添加模块 | 第70页 |
5.3.3 更新调度模块 | 第70页 |
5.4 系统运行展示 | 第70-71页 |
5.5 系统应用 | 第71-73页 |
5.6 本章小结 | 第73-74页 |
第六章 总结与展望 | 第74-76页 |
6.1 总结 | 第74页 |
6.2 展望 | 第74-76页 |
致谢 | 第76-77页 |
参考文献 | 第77-81页 |
攻读硕士学位期间取得的成果 | 第81-82页 |