上一篇中讲解了ExecutionEngine的主循环流程,下面就具体讲解下不需要搁置时,如何处理一个request,从下载页面到解析页面,最后到数据处理的整个流程。
几个核心的类介绍如下:
1.Scraper:刮取器。用于对下载后的结果进行处理,主要使用ItemPipelineManager对数据进行入数据库等操作。
2.Downloader:下载器。对同时下载网页的并发度进行控制,同时通过DownloaderMiddlewareManager来对request,response进行各个中间件的操作。并通过HTTP11DownloadHandler来使用twisted的连接池进行网页下载操作。
工作流程图如下: