分布式爬虫系统
来源:互联网 发布:获取端口号 编辑:程序博客网 时间:2024/05/21 06:22
写在前面:
1. 整个爬虫系统,简介:采用Thrift,Netty作为模块通信和网络通信,使用Zookeeper实现分布式管理,底层存储使用HBase。
2. 动静结合爬取模块实现方式。
3. 智能提取算法,相似性SimHash算法,PageRank改进算法等,实现爬取策略,爬取调度。
4. 可扩展性,a.对于主题爬虫(垂直爬虫),站点爬虫灵活充分转变。b. 爬虫性能水平扩展。
5. 爬取状态监控。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
架构与模块
整个系统架构分为至少3个以上的模块,包括调度中心,爬取模块,信息提取模块,种子管理,监控模块。其中尽可能保证各模块之间异步通信。
保证各个模块之间最小单元化,最小功能化。
1. 调度中心
其中调度中心,负责种子投递,监控种子状态,包括延时处理,状态标记等,维护系统爬取效率,网络通信,模块通信等各方面。
实现thrift相关接口。
2. 爬取模块
实现爬取任务,作为独立模块,基于约定实现thrift接口
实现动静网页的爬取,基于Http请求,Webkit/HttpUnit/selumn第三方渲染方式实现页面下载。主要处理各种网络问题,包括cookie,bot协议,封闭网络等。
3. 信息提取
同2.
主要目的在于制定爬取策略。独立于其他模块
a. 可以基于xpath等信息,提取页面信息
b. 基于智能算法提取页面信息
c. 基于pageRange提取种子信息,实现抓取策略
以上3个模块为主要模块,整体依据thrift接口实现模块通信。
- 分布式爬虫系统
- 分布式爬虫系统随笔
- 爬虫知识点(scrapy_redis分布式爬虫系统)
- 基于广域网的主从分布式爬虫系统
- 爬虫实战6—分布式系统设计
- 分布式爬虫
- 分布式爬虫
- 分布式爬虫
- 分布式爬虫
- 分布式爬虫
- 高效分布式爬虫系统的架构设计[申请专利]
- 分布式多爬虫系统——架构设计
- python爬虫进阶(六):分布式系统设计
- 分布式任务队列与任务调度系统Celery进阶——分布式爬虫
- 爬虫总结(四)-- 分布式爬虫
- Python爬虫之分布式爬虫
- 分布式网络爬虫浅见
- 分布式网页爬虫QQQ
- 【LeetCode】Merge Two Sorted Lists
- Visual Studio 2013 C/C++单元测试
- 学生管理系统源代码
- C 语言程序设计实践 4.4 车牌号
- ios开发——用UITableView展示多行多列图片
- 分布式爬虫系统
- C 语言程序设计实践 4.5 四边形
- 系统定时任务 crontab
- 写出高性能SQL语句的35条方法分析
- C 语言程序设计实践 4.6 第几天
- Codeforces Round #277 (Div. 2)E题
- UITableView多选删除及样式自定
- Oracle ASH内存强制Flush日志解决一例
- .Net线程问题解答