基于python与Redis的多进程分布式爬虫框架
思路解释
思路就大概是,主文件(我demo中用的main.py) 启动多个子进程,每个进程定时访问一次redis,若redis中有数据,则连续访问直到将redis中数据取空。
- 一个进程负责从redis中读取目标url,发送请求,克服一系列有的没的反爬虫机制,得到网页html代码,塞入redis中。
- 一个进程负责从redis中读取html,解析后将结果或者后续url塞入redis。
- 一个进程负责处理相关存储。
- 因为python的GIL,采用的是多进程方式。每一个进程都可以开多个子进程提升速度。
- 有出错日志,记录异常网页。
- 需要起始url。
- 细节问题用标志位处理。
然后看下思路图,画的比较随意,看个顺序和数据流向
项目地址
这里