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有这个功能。
答
您可以使用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://stackoverflow.com/questions/21171239/scrapy-is-it-possible-to-pause-scrapy-and-resume-after-x-minutes“Scrapy是一个基于扭曲的Python框架,因此,不要在其中使用time.sleep或pause.until,而应使用Twisted的Deferred()。“ – daniel
检查[这](https://github.com/scrapy/scrapy/pull/2897)出来,可能会给未来的支持。 –