scrapy如何自定义延迟

scrapy如何自定义延迟

问题描述:

我想做一个自定义的延迟,因为全局延迟在我的代码中是低效的。scrapy如何自定义延迟

因为我不知道我在寻找什么在这个线程:scrapy is slow (60 pages/min) 我决定最好把它作为一个新的问题。

基本上我有:

amazon request 
API request 
API request 

如果我使用DOWNLOAD_DELAY = 1 它就像有:

amazon request 
delay(1) 
API request 
delay(1) 
API request 
delay(1) 

当我真正只需要:

amazon request 
API request 
delay(1) 
API request 
delay(1) 

我怎么能实现延时?我不认为scrapy有这个功能。

+0

检查[这](https://github.com/scrapy/scrapy/pull/2897)出来,可能会给未来的支持。 –

您可以使用Python中的时间模块的睡眠功能。 https://docs.python.org/2/library/time.html

它的参数是在几秒钟内,使代码会去:

from time import sleep 
amazon request 
API request 
sleep(1) 
API request 
sleep(1) 
+0

人们说你不应该在scrapy中使用睡眠:https://*.com/questions/21171239/scrapy-is-it-possible-to-pause-scrapy-and-resume-after-x-minutes“Scrapy是一个基于扭曲的Python框架,因此,不要在其中使用time.sleep或pause.until,而应使用Twisted的Deferred()。“ – daniel