我目前正在使用Scrapy Python库。Scrapy DOWNLOAD_DELAY不适用于顺序请求
首先,我对Fitbit的登录页面(https://www.fitbit.com/login)进行FormRequest调用以记录自己的身份。然后,我向Fitbit的API(https://api.fitbit.com)发出近100条请求。
为了不压制API(并且不会被禁止!),我想在settings.py文件中使用DOWNLOAD_DELAY设置请求之间的延迟。但它不起作用。
我正在测试它的教程(http://scrapy.readthedocs.io/en/latest/intro/tutorial.html),它在那里工作正常。
您认为如何?是否因为我请求一个API(应该处理这些访问)?
编辑:这里是我的蜘蛛的伪代码:
class FitbitSpider:
start_urls = ["https://www.fitbit.com/login"]
def parse(self, response):
yield scrapy.FormRequest(url,formdata,callback=after_login)
def after_login(self, response):
for i in range(100):
yield scrapy.Request("https://api.fitbit.com/[...]")
编辑2:这里是我的settings.py文件:
BOT_NAME = 'fitbitscraper'
SPIDER_MODULES = ['fitbitscraper.spiders']
NEWSPIDER_MODULE = 'fitbitscraper.spiders'
DOWNLOAD_DELAY = 20 #20 seconds of delay should be pretty noticeable
什么教程?你测试了什么代码?如果你不需要伪解决方案,最好展示真实的代码,而不是伪代码。 – furas
http://scrapy.readthedocs.io/en/latest/intro/tutorial.html。刮除工作正常,除非没有观察到延迟。而且因为代码是300线长,我不能在这里给它(这将是无关的话题,以及,我相信)。 – Xema
请显示你的'settings.py'。另外,你是如何发现它不起作用的?最好提供完整的信息。 –