分布式爬虫系统 实践 简述

问题提出:
爬虫的维护是个问题,网站发生变更时,需要重新开发获取、解析等;
另外爬虫的爬取周期也是个问题,不同的网站爬取周期也不一样;
爬虫会遇到封IP,代理池是一种方案,最好支持多机器部署;
爬虫也要支持多线程;
就需要一个统一的管理系统,管理系统最好是能够管理多种爬虫,在新增爬虫时,管理系统不用变更;

解决思路:
管理系统只负责任务的调度、及结果的保存;
爬虫终端负责任务获取及任务分配,支持多种爬虫;
爬虫本身,专注于获取数据、分析数据,同时也要负责任务的生成规则;
这样拆分后,每次增加新的爬虫,就只需要增加新的爬虫加入系统,而管理系统和管理终端基本不用改;

实现方法:
数据结构增加任务参数类型,爬虫根据任务参数类型来决定任务生成;
每次任务参数会保存到管理服务器,爬虫生成任务时,先从管理服务器获取任务参数;
再把生成的任务提交到管理服务器,管理服务器负责分发任务到终端执行;

ant design pro + tornado 搭了一个,能按设计运行

猜你喜欢

转载自www.cnblogs.com/van28/p/11244757.html