scrapy中间件:数字意味着什么(例如,ProxyMiddleware':410)?

问题描述 投票:0回答:1

很抱歉这个非常基本的问题,但410myproject.middlewares.ProxyMiddleware': 410的含义是什么? (很明显,没有人谈论它!)。

RandomUserAgentMiddleware': 400 
HttpProxyMiddleware': 110
ProxyMiddleware': 100

我没有在tuto中找到任何关于它的东西。

编辑它不是来自this的副本:答案说这个数字用于排序顺序,但没有解释为什么他们使用特定的数字。为什么在我上面的例子中RandomUserAgentMiddleware使用400,为什么不是399或401,是否有这样的理由?或者我们应该粗略地采取任何符合顺序的数字?

scrapy middleware
1个回答
3
投票

这个数字可以大致是任何符合订单的数字,也可以让您灵活地适应其中的一些其他中间件。

因此,您使用100, 200, 300, ...而不是1, 2, 3,...,这可以在现有中间件之间添加中间件时提供更大的灵活性。最后,中间件将按此编号排序并按顺序执行。所以

{
"A": 200,
"B" : 400,
"C" : 300
}

相当于

{
"C" : 200
"A": 100,
"B" : 400,
}

两者都会按照A, C, B的顺序执行中间件

© www.soinside.com 2019 - 2024. All rights reserved.