简单记录一下
在srapy中的下载中间件中,process_response(self, request, response, spider)方法中的
response.meta 拿的其实是与它绑定的那个request.meta
但是 request 与 reponse 的绑定是在 engine这一层里面进行的,这一步在download middleware之后,所以在
download middleware 中的response是没有绑定request的,所以在process_response 中调用 response.meta
是会报错的,AttributeError: Response.meta not available
所以一般在下载中间件中都是拿 request.meta 里面的数据
更加具体的链接 参考 这里
本文解析了在Scrapy框架中,下载中间件的process_response方法中使用response.meta的问题。由于response与request的绑定发生在downloadmiddleware之后,在此阶段调用response.meta将引发错误。因此,下载中间件中应使用request.meta。
3万+

被折叠的 条评论
为什么被折叠?



