首页 > 解决方案 > Scrapy请求url来自哪个url响应

问题描述

对于 Scrapy,我们可以得到 response.url、response.request.url,但是我们怎么知道 response.url、response.request.url 是从哪个父 url 中提取的呢?

谢谢你,肯

标签: scrapy

解决方案


您可以使用Request.meta来跟踪此类信息。

当您提出请求时,请response.url在元数据中包含:

yield response.follow(link, …, meta={'source_url': response.url})

然后在你的解析方法上阅读它:

source_url = response.meta['source_url']

这是最直接的方法,如果您愿意,您可以使用此方法跟踪原始 URL,即使跨不同的解析方法。

否则,您可能需要考虑利用redirect_urls元键来跟踪重定向跳转。


推荐阅读