Python爬虫(二):整体设计

来源:互联网 发布:大疆航测软件 编辑:程序博客网 时间:2024/06/03 19:39

由前文Python爬虫(一):环境配置的方案选取可知,项目的核心是使用scrapy抓取感兴趣的内容,使用PyQt实时显示结果,所爬取的条目数量为10W数量级,访问频率在被网站可容忍的情况下尽可能的快。很明显,这里存在多任务并行,例如,多个爬之间属于并行任务,爬虫与GUI显示属于并行任务。使用python多进程模型应该是最基本的实现方式,数据流如下:
这里写图片描述
Task0为GUI进程,Task1~Task6为6个爬虫进程,每个进程负责下载和分析某个特定的网站,Task7为Task0的子线程,负责数据存储。各个进程间的数据通信采用进程安全的队列Queue,事件同步采用Event。

时序关系如下:
这里写图片描述

0 0