Scrapy:将变量从中间件传递到Spider本身

r7xajy2e  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(135)

我试图捕获原始请求负载和请求头,以便在数据库中进行跟踪。我知道response.request.headers,但那是返回的请求头。
有没有可能创建一个中间件来捕获request.header和payload(body),并将其作为 meta标记或类似的东西发送给spider?

kyvafyod

kyvafyod1#

我找到了一种方法来做到这一点(当然没有中间件):

  • 将scrapy.request()存储到变量中,例如req
  • req.headers.to_unicode_dict()存储到self.req_headers
  • req.body存储到self.req_body
  • 执行yield req以发送请求

相关问题