SpiderZ爬虫框架

基于python与Redis的多进程分布式爬虫框架

思路解释

思路就大概是,主文件(我demo中用的main.py) 启动多个子进程,每个进程定时访问一次redis,若redis中有数据,则连续访问直到将redis中数据取空。

  • 一个进程负责从redis中读取目标url,发送请求,克服一系列有的没的反爬虫机制,得到网页html代码,塞入redis中。
  • 一个进程负责从redis中读取html,解析后将结果或者后续url塞入redis。
  • 一个进程负责处理相关存储。
  • 因为python的GIL,采用的是多进程方式。每一个进程都可以开多个子进程提升速度。
  • 有出错日志,记录异常网页。
  • 需要起始url。
  • 细节问题用标志位处理。

    然后看下思路图,画的比较随意,看个顺序和数据流向

    项目地址

    这里