下载器中间件Scrapy的请求/响应处理的钩子框架。它是一个轻量级的低级系统,用于全局改变Scrapy的请求和响应。

激活下载中间件

要激活下载程序中间件组件,请将其添加到 DOWNLOADER_MIDDLEWARES设置中,该设置是一个dict,其键是中间件类路径,其值是中间件命令。

这是一个例子:

DOWNLOADER_MIDDLEWARES = {
    'myproject.middlewares.CustomDownloaderMiddleware': 543,
}

DOWNLOADER_MIDDLEWARES设置与DOWNLOADER_MIDDLEWARES_BASEScrapy中定义的设置合并 (并不意味着被覆盖),然后按顺序排序,以获得已启用的中间件的最终排序列表:第一个中间件是靠近引擎的中间件,最后一个是更接近引擎的中间件到下载器。换句话说,process_request() 将以增加的中间件顺序(100,200,300,…)process_response()调用每个中间件的方法,并且将按递减顺序调用每个中间件的方法。

要确定分配给中间件的顺序,请参阅 DOWNLOADER_MIDDLEWARES_BASE设置并根据要插入中间件的位置选择值。订单很重要,因为每个中间件执行不同的操作,您的中间件可能依赖于应用的某些先前(或后续)中间件。

如果要禁用内置中间件(DOWNLOADER_MIDDLEWARES_BASE默认情况下定义和启用的中间件 ),则必须在项目的DOWNLOADER_MIDDLEWARES设置中定义它并将None指定 为其值。例如,如果要禁用用户代理中间件:

DOWNLOADER_MIDDLEWARES = {
    'myproject.middlewares.CustomDownloaderMiddleware': 543,
    'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
}

最后,请记住,可能需要通过特定设置启用某些中间件。有关详细信息,请参阅每个中间件文档

评论被关闭。