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

时间:2017-11-07 22:11:46

标签: scrapy middleware

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

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

我在tuto中没有找到任何关于它的内容。

编辑它不是来自this的副本:答案说该号码用于对订单进行排序,但不解释他们使用特定号码的原因。为什么我上面的例子RandomUserAgentMiddleware使用400,为什么不是399或401,有什么理由呢?或者我们应该粗略地采取任何符合顺序的数字?

1 个答案:

答案 0 :(得分:3)

该数字大致可以是任何符合订单的数字,并且还可以灵活地在其间安装其他一些中间件。

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

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

相当于

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

两者都会按顺序A, C, B

执行中间件