scrapy 中间件:数字是什么意思(例如 ProxyMiddleware':410)?
scrapy middleware: what the number means (eg. ProxyMiddleware': 410)?
很抱歉提出一个非常基本的问题,但是 410
在 myproject.middlewares.ProxyMiddleware': 410
中的含义是什么? (太明显了,没有人谈论它!)。
RandomUserAgentMiddleware': 400
HttpProxyMiddleware': 110
ProxyMiddleware': 100
我在 tuto 中没有找到任何相关信息。
EDIT 它不是 this 的重复:答案说数字用于排序顺序但没有解释为什么他们使用特定数字。为什么在我上面的示例中 RandomUserAgentMiddleware
使用 400,为什么不使用 399 或 401,这有什么原因吗?或者我们应该粗略地取符合顺序的任何数字?
这个数字可以大致是任何符合顺序的数字,也可以让您灵活地在两者之间安装一些其他中间件。
因此,您使用 100, 200, 300, ...
而不是 1, 2, 3,...
,这样可以在现有中间件之间添加中间件时提供更大的灵活性。最后,中间件将按此编号排序并按顺序执行。所以
{
"A": 200,
"B" : 400,
"C" : 300
}
相当于
{
"C" : 200
"A": 100,
"B" : 400,
}
两者都会按顺序执行中间件A, C, B
很抱歉提出一个非常基本的问题,但是 410
在 myproject.middlewares.ProxyMiddleware': 410
中的含义是什么? (太明显了,没有人谈论它!)。
RandomUserAgentMiddleware': 400
HttpProxyMiddleware': 110
ProxyMiddleware': 100
我在 tuto 中没有找到任何相关信息。
EDIT 它不是 this 的重复:答案说数字用于排序顺序但没有解释为什么他们使用特定数字。为什么在我上面的示例中 RandomUserAgentMiddleware
使用 400,为什么不使用 399 或 401,这有什么原因吗?或者我们应该粗略地取符合顺序的任何数字?
这个数字可以大致是任何符合顺序的数字,也可以让您灵活地在两者之间安装一些其他中间件。
因此,您使用 100, 200, 300, ...
而不是 1, 2, 3,...
,这样可以在现有中间件之间添加中间件时提供更大的灵活性。最后,中间件将按此编号排序并按顺序执行。所以
{
"A": 200,
"B" : 400,
"C" : 300
}
相当于
{
"C" : 200
"A": 100,
"B" : 400,
}
两者都会按顺序执行中间件A, C, B