首页 > 解决方案 > Scrapy:在延迟请求提交到服务器之前拦截它

问题描述

在 Scrapy 中,我使用 download_delay=5 来稍微延迟循环的每个请求,效果很好。

我正在抓取的网站需要在请求正文中包含时间戳。因此,在之前设置它yield scrapy.Request(...)不起作用,因为所有请求都将具有当前时间戳,即使它们被延迟发送。我可以准备一个占位符,但我需要在实际请求提交到服务器之前替换它。

我考虑过使用 DownloaderMiddleware,但它process_request()会立即处理而不会延迟,所以它也无济于事。有没有其他方法可以在实际提交到服务器的时候拦截实际的请求提交?

标签: pythonscrapy

解决方案


推荐阅读