scrapy - spidermiddleware 中 process_spider_input 的用例
问题描述
有谁知道 spidermiddleware和 Downloadermiddleware之间 process_spider_input(response, spider)
的区别。以及如何选择一个而不是另一个,因为我看到他们做同样的工作,他们处理响应。process_response(request, response, spider)
解决方案
根据消息来源,它们确实有区别
- 返回值
spider_mw.process_spider_input()
退货None
,您可以查看或修改Response
。基本上它假设响应已被接受并且您不能拒绝它。downloader_mw.process_response()
返回Response
或Request
。您可以拒绝来自下载处理程序的响应并生成新请求。(例如RetryMiddleware
)</li>
推荐阅读
- php - 使用选择列表中的值操作数组的正确方法是什么?
- javascript - 每次状态更改时渲染 div,使用 setinterval
- .net - 使用 Google Calendar .Net SDK 从 Google 日历活动中删除 Google Meet 链接
- mapbox - MapBox:如何使用折线捕获地图的位图
- google-bigquery - 如何将数据从按年/月/日分区的存储桶中加载到 bigquery
- php - Twig如何仅在分页的第一页显示文本
- apache-spark - Glue 书签倒带功能是否会从接收器中删除数据?
- python - 确定是否可以通过从数组中删除不超过一个元素来获得严格递增的序列
- visual-studio-code - VSCode 使用宏运行脚本
- android - 把replaceFragment放到onBindViewHolder里面对吗?