python - Scrapy:在延迟请求提交到服务器之前拦截它
问题描述
在 Scrapy 中,我使用 download_delay=5 来稍微延迟循环的每个请求,效果很好。
我正在抓取的网站需要在请求正文中包含时间戳。因此,在之前设置它yield scrapy.Request(...)
不起作用,因为所有请求都将具有当前时间戳,即使它们被延迟发送。我可以准备一个占位符,但我需要在实际请求提交到服务器之前替换它。
我考虑过使用 DownloaderMiddleware,但它process_request()
会立即处理而不会延迟,所以它也无济于事。有没有其他方法可以在实际提交到服务器的时候拦截实际的请求提交?
解决方案
推荐阅读
- flutter - Flutter/Dart:带参数的 getter
- sql - 如何为同一张表中的其他列创建键?
- python - 将实例“计数”合并到加入字符串的列表中(Python3)
- r - 如何根据值列表拆分长字符串中的单词以在 R 中创建新数据框?
- cypress - 赛普拉斯游乐场找不到工作选择器
- java - Vert.X 微服务:多数据库访问或使用请求-回复
- image-processing - Tesseract 需要 10 秒来识别最简单的图像,我做错了什么?
- spring - 验证 RequestBody 和 Param 中的所有字符串字段
- java - Android 上的 Facebook 新闻源刷新
- c# - 无法从 xamarin android 调用 firebase 云功能