使用Scrapy爬取时,是否可以依赖refererheaders的请求?

When crawling with Scrapy, can I rely on requests having referer headers?

我正在抓取一个网站并将链接到每个页面的页面的 url 保存在 'Page' 项字段中,以便稍后重建站点树。一个简单的方法是访问 response.request.headers['referer'],这是请求的引用 header。这 header 实际上可靠吗?也就是说,对于 Scrapy 生成的请求,它是否总是存在,或者它是否可能不准确/对于请求不存在?

是的,有一个 RefererMiddleware 默认启用:

Populates Request Referer header, based on the URL of the Response which generated it.

仅供参考,这里是 the implementation