Scrapy的HttpCacheMiddleware
组件(默认情况下没有启用)提供了一个底层(low-level)的对HTTP请求和响应的缓存。如果启用的话(把HTTPCACHE_ENABLED
设置为True
),它会缓存每个请求和对应的响应。
这个组件有两个可选项:缓存策略和存储位置。
缓存策略:
- Dummy policy(默认):这种策略不考虑服务器返回的HTTP Cache-Control指示,它会缓存所有的请求和响应。当遇到相同的请求时,它会直接从缓存中获得响应。要使用这种缓存策略,可以把
HTTPCACHE_POLICY
设置成scrapy.extensions.httpcache.DummyPolicy
。 - RFC2616Policy:这种缓存策略会考虑服务器返回的缓存指令,大概类似于浏览器的行为。可以参考Scrapy文档。
存储位置:
- 用本地文件系统存储(默认):可以设置
HTTPCACHE_DIR
指定存储的位置。要使用这种方式,需要把HTTPCACHE_STORAGE
设置成scrapy.extensions.httpcache.FilesystemCacheStorage
。每对请求/响应都会被存储在不同的目录里,里面有一些与此相关的文件(参考