每个中间件组件都是一个Python类,它定义了以下一个或多个方法: 类scrapy.downloadermiddlewares.DownloaderMiddleware 注意 任何下载器中间件方法也可能返回延迟。 process_request(请求,蜘蛛) 对于通过下载中间件的每个请求,都会调用此方法。 process_request()应该:返回None,返回一个 Response对象,返回一个Request 对象,或者提升IgnoreRequest。 如果它返回None,Scrapy将继续处理此请求,执行所有其他中间件,直到最后,相应的下载程序处理程序被称为执行的请求(并且其响应已下载)

内置异常参考 以下列出了Scrapy中包含的所有例外情况及其用法。 掉物品开关DROPITEM 异常scrapy.exceptions.DropItem 项目管道阶段必须引发的异常才能停止处理Item。有关更多信息,请参阅项目管道。 CloseSpider 异常scrapy.exceptions.CloseSpider(reason =’cancel’ ) 可以从蜘蛛回调中引发此异常,以请求关闭/停止蜘蛛。支持的参数: 参数: reason(str) – 关闭的原因 例如: def parse_page(self, response): if ‘Bandwi