首页 > 解决方案 > spidermiddleware 中 process_spider_input 的用例

问题描述

有谁知道 spidermiddlewareDownloadermiddleware之间 process_spider_input(response, spider)的区别。以及如何选择一个而不是另一个,因为我看到他们做同样的工作,他们处理响应。process_response(request, response, spider)

标签: scrapy

解决方案


根据消息来源,它们确实有区别

  • 返回值
    • spider_mw.process_spider_input()退货None,您可以查看或修改Response。基本上它假设响应已被接受并且您不能拒绝它。
    • downloader_mw.process_response()返回ResponseRequest。您可以拒绝来自下载处理程序的响应并生成新请求。(例如RetryMiddleware)</li>

推荐阅读