我对Scrapy项目中的自定义中间件和 init 功能有疑问。有人首先知道加载中间件的方式,因为基本上 init 函数总是先加载它吗?
答案 0 :(得分:1)
您要先加载自定义中间件,然后加载什么?
如果必须在另一个中间件之前加载它,则可以通过在SPIDER_MIDDLEWARES
设置中分配一个较小的整数来控制顺序。
SPIDER_MIDDLEWARES = {
'myproject.middlewares.CustomSpiderMiddleware': 100,
'myproject.middlewares.CustomSpiderMiddleware2': 50,
}
在上面的示例中,CustomSpiderMiddleware2
将首先加载,因为中间件将按其整数值排序。更多信息here。
但是,如果您要在启动搜寻器过程之前加载中间件,那么我认为这不是简单的方法。
也许您可以提供更多有关期望完成的细节的信息,那么我会有所帮助。