блин, ты код смотрел? доки читал?
1.
def process_response(self, request, response, spider):
return self._handle_result(request, spider) or response
по сути, возвращает либо респонс (если бана нет), либо реквест.
2. курим доку по скрапи, для этого метода в мидлваре
https://docs.scrapy.org/en/1.6/topics/downloader-middleware.html?highlight=Middleware#scrapy.downloadermiddlewares.DownloaderMiddleware.process_responseесли метод возвращает респонс, то Ок, он обрабатывается
если метод возвразает реквест, то он запланируется на выполнение.
3. если метод выше вернет реквест, то он запланируется на выполнение. И перед выполнением пройдет через эту же мидлварю, и ему назначится новая прокся