DownloaderMiddleware:下载中间件有三个重要方法:
process_request()、process_response()、process_exception()
实现其中任意一个方法即可定义一个Downloader
(一)process_request(self,request, spider)用法:
1、触发条件:request在被scrapy引擎调度给Downloader之前,该方法会被调用
2、方法的参数:1)request:当前被处理的request对象
2)spider:当前request对应的spider对象
3、方法的返回值:有以下4种
1)返回值为None:scrapy将继续处理该request,然后接着被用于其他DownloaderMiddleware中的process_request()
方法,知道DownloaderMiddleware把这个request执行后得到response对象时,才会结束这个request,(其本质
是修改request的过程,不同的DownloaderMiddleware按照设置的优先级顺序依次处理request,最后送到Downloader
中执行(不同DownloaderMiddleware的优先级在settings中的DOWNLOADER_MIDDLEWARES设