此页面描述了Scrapy附带的所有下载中间件组件。有关如何使用它们以及如何编写自己的下载程序中间件的信息,请参阅下载程序中间件使用指南。 有关默认启用的组件列表(及其订单),请参阅 DOWNLOADER_MIDDLEWARES_BASE设置。   CookiesMiddleware 类scrapy.downloadermiddlewares.cookies.CookiesMiddleware 此中间件可用于处理需要cookie的站点,例如使用会话的站点。它跟踪Web服务器发送的cookie,并在后续请求(来自该蜘蛛)上发回它们,就像Web浏览器一样。 以下设置可用于配置cookie中

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

下载器中间件是Scrapy的请求/响应处理的钩子框架。它是一个轻量级的低级系统,用于全局改变Scrapy的请求和响应。   激活下载中间件 要激活下载程序中间件组件,请将其添加到 DOWNLOADER_MIDDLEWARES设置中,该设置是一个dict,其键是中间件类路径,其值是中间件命令。 这是一个例子: DOWNLOADER_MIDDLEWARES = { ‘myproject.middlewares.CustomDownloaderMiddleware’: 543, }   该DOWNLOADER_MIDDLEWARES设置与DOWNLOADER_MIDDLEWARE

Scrapy设置允许您自定义所有Scrapy组件的行为,包括核心,扩展,管道和蜘蛛本身。 设置的基础结构提供了键值映射的全局命名空间,代码可以使用该命名空间从中提取配置值。可以通过不同的机制填充设置,如下所述。 这些设置也是选择当前活动的Scrapy项目的机制(如果你有很多)。 有关可用内置设置的列表,请参阅:内置设置参考。   指定设置 当您使用Scrapy时,您必须告诉它您正在使用哪些设置。您可以使用环境变量来完成此操作SCRAPY_SETTINGS_MODULE。 值SCRAPY_SETTINGS_MODULE应该是Python路径语法,例如 myproject.setting